編寫乙個名為 collatz()的函式,它有乙個名為 number 的引數。如果引數是偶數,
那麼 collatz()就列印出 number // 2, 並返回該值。如果 number 是奇數, collatz()就打
印並返回 3 * number + 1。
然後編寫乙個程式, 讓使用者輸入乙個整數, 並不斷對這個數呼叫 collatz(), 直
到函式返回值1(令人驚奇的是, 這個序列對於任何整數都有效, 利用這個序列,
你遲早會得到 1! 既使數學家也不能確定為什麼。 你的程式在研究所謂的「collatz
序列」,它有時候被稱為「最簡單的、 不可能的數學問題」)。
在專案中新增 try 和 except 語句,檢測使用者是否輸入了乙個非整數的字
符串。正常情況下, int()函式在傳入乙個非整數字串時,會產生 valueerror 錯誤,
比如 int('puppy')。在 except 子句中,向使用者輸出一條資訊,告訴他們必須輸入乙個
整數。示例**:
defcollatz(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)
(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...