Python例項1 Collatz 序列

2022-07-20 09:21:13 字數 943 閱讀 5565

編寫乙個名為 collatz()的函式,它有乙個名為 number 的引數。如果引數是偶數,

那麼 collatz()就列印出 number // 2, 並返回該值。如果 number 是奇數, collatz()就打

印並返回 3 * number + 1。

然後編寫乙個程式, 讓使用者輸入乙個整數, 並不斷對這個數呼叫 collatz(), 直

到函式返回值1(令人驚奇的是, 這個序列對於任何整數都有效, 利用這個序列,

你遲早會得到 1! 既使數學家也不能確定為什麼。 你的程式在研究所謂的「collatz

序列」,它有時候被稱為「最簡單的、 不可能的數學問題」)。

在專案中新增 try 和 except 語句,檢測使用者是否輸入了乙個非整數的字

符串。正常情況下, int()函式在傳入乙個非整數字串時,會產生 valueerror 錯誤,

比如 int('puppy')。在 except 子句中,向使用者輸出一條資訊,告訴他們必須輸入乙個

整數。示例**:

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("

請輸入乙個整數:"))

while number != 1:

number =collatz(number)

print

(number)

except

valueerror:

print('

必須輸入整數

')

python學習例項(1)

1.2 計算機程式設計的基本概念 1.2.2 從python語言進入計算機語言的世界 程式 例子1 def f x,y return x x y y print f 2,2 f 2,2 print f 3,2 f 3,2 程式 例子2 def pr for i in range 0,10 索引 i ...

(練習)Python例項1

1 example.py 1.有四個數字 1 2 3 4,能組成多少個互不相同且無重複數字的三位數?各是多少?def example1 count 0 for i in range 1,5 for j in range 1,5 for k in range 1,5 if i j and j k an...

Python 練習例項1

摘至菜鳥教程 題目 有四個數字 1 2 3 4,能組成多少個互不相同且無重複數字的三位數?各是多少?date 2019 5 12 分析 可以用for迴圈與邏輯運算解決 提問 從時間複雜度考慮,看完計算機結構想想 list1 n 0for i in list1 for j in list1 for k...