Python九九歸一之collatz

2021-10-03 16:03:20 字數 788 閱讀 3195

看到這個,就自己寫了乙個,花了很長時間,邏輯思維太差了,還好,寫出來了,雖然沒有別人的高大上,但還是實現了要求,咋感覺函式沒起到啥作用?

''' 

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

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

印並返回3 * number + 1。

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

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

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

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

'''digit =

int(

input

("寫入:"))

defcollatz

(number)

:while number !=1:

t = number %

2if t ==0:

number = number //

2else

: number =

3* number +

1print

("loop:"

,number)

else

:print

("……萬物歸一……"

)collatz(digit)

Python 學習之九九乘法表

請看示例 一行實現99乘法表 print n join join s s 2s y,x,x y for y in range 1,x 1 for x in range 1,10 簡單版本 1 first 1 被乘數初始值2 second 9 3while first 9 4 print str fi...

Python學習筆記之九九乘法表

注釋的兩種方式 1 單行注釋 2 多行注釋 或 注意形成閉包 而且單雙引號不可混用 print hello python print ssss range 的使用方法 語法 range start,stop step start 計數從 start 開始。預設是從 0 開始。例如range 5 等價...

python之迴圈巢狀 九九乘法表

迴圈巢狀演練 九九乘法表 第 1 步 用巢狀列印小星星 需求 1.定義乙個計數器變數,從數字1開始,迴圈會比較方便 row 1 2.開始迴圈 第 2 步 使用迴圈巢狀列印小星星 知識點對print函式的使用做乙個增強 在預設情況下,print 函式輸出內容之後,會自動在內容末尾增加換行 print ...