Python Collatz序列實現(xiàn)過程解析
編寫一個名為 collatz()的函數(shù),它有一個名為 number 的參數(shù)。如果參數(shù)是偶數(shù),那么 collatz()就打印出 number // 2, 并返回該值。如果 number 是奇數(shù), collatz()就打印并返回 3 * number + 1。然后編寫一個程序, 讓用戶輸入一個整數(shù), 并不斷對這個數(shù)調(diào)用 collatz(), 直到函數(shù)返回值1(令人驚奇的是, 這個序列對于任何整數(shù)都有效, 利用這個序列,你遲早會得到 1! 既使數(shù)學(xué)家也不能確定為什么。 你的程序在研究所謂的“Collatz序列”,它有時候被稱為“最簡單的、 不可能的數(shù)學(xué)問題”)。
在項目中添加 try 和 except 語句,檢測用戶是否輸入了一個非整數(shù)的字符串。正常情況下, int()函數(shù)在傳入一個非整數(shù)字符串時,會產(chǎn)生 ValueError 錯誤,比如 int('puppy')。在 except 子句中,向用戶輸出一條信息,告訴他們必須輸入一個整數(shù)。
示例代碼:
def collatz(number): a = number % 2 if a == 0: number = number//2 return number elif a == 1: number = number*3+1 return number try: number = int(input("請輸入一個整數(shù):")) while number != 1: number = collatz(number) print(number) except ValueError: print('必須輸入整數(shù)')
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
配置python連接oracle讀取excel數(shù)據(jù)寫入數(shù)據(jù)庫的操作流程
這篇文章主要介紹了配置python連接oracle,讀取excel數(shù)據(jù)寫入數(shù)據(jù)庫,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03Python虛擬環(huán)境virtualenv創(chuàng)建及使用過程圖解
這篇文章主要介紹了Python虛擬環(huán)境virtualenv創(chuàng)建及使用過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-12-12Python?dataframe如何設(shè)置index
這篇文章主要介紹了Python?dataframe如何設(shè)置index,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05在PyCharm中實現(xiàn)關(guān)閉一個死循環(huán)程序的方法
今天小編就為大家分享一篇在PyCharm中實現(xiàn)關(guān)閉一個死循環(huán)程序的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11