python實踐專案一 Collatz函式

2022-07-10 02:12:10 字數 1198 閱讀 6116

要求1:編寫乙個名為 collatz()的函式,它有乙個名為 number 的引數。如果引數是偶數,那麼 collatz()就列印出 number // 2, 並返回該值。如果 number 是奇數, collatz()就列印並返回 3 * number + 1。然後編寫乙個程式,讓使用者輸入乙個整數,並不斷對這個數呼叫 collatz(), 直到函式返回值1。

要求2:輸入驗證:在前面的專案中新增 try 和 except 語句,檢測使用者是否輸入了乙個非整數的字串。正常情況下, int()函式在傳入乙個非整數字串時,會產生 valueerror 錯誤,比如 int('puppy')。在 except 子句中,向使用者輸出一條資訊,告訴他們必須輸入乙個整數。

如果 number % 2 == 0,整數 number 就是偶數,如果 number % 2 == 1,它就是奇數。

這個程式的輸出看起來應該像這樣:

enter number:3105

16842

1

1

#!/usr/bin/python2#

-*- coding: utf-8 -*-

3import

sys4

defcollatz(number):

5if number%2==0:

6return number//2

7else:8

return 3*number+19if

__name__=='

__main__

':#此句解釋:

10 num=int(input("

請輸入乙個正整數:"))

11try:12

if num>0:

13while 1:

14if num!=1:

15print

collatz(num)

16 num=collatz(num)

17else:18

break

19else:20

print

"你輸入的不是正整數,程式結束!"21

except:22

print

"你輸入的不是正整數,程式結束!

"

view code

顯示結果:

python實踐專案(四)

練習1 好玩遊戲的物品清單 意味著玩家有 1 條繩索 6 個火把 42 枚金幣等。寫乙個名為 displayinventory 的函式,它接受任何可能的物品清單,並顯示如下 inventory 12 arrow 42 gold coin 1 rope 6 torch 1 dagger total n...

python實踐專案(十)

除錯硬幣拋擲 下面程式的意圖是乙個簡單的硬幣拋擲猜測遊戲。玩家有兩次猜測機會 這是乙個簡單的遊戲 但是,程式中有一些缺陷。讓程式執行幾次,找出缺陷,使該程式能正確執行。import random guess while guess not in heads tails print guess the...

Python實踐專案7 18

7.18.1 強口令檢測 寫乙個函式,它使用正規表示式,確保傳入的口令字串是強口令。強口令的定義是 長度不少於 8 個字元,同時包含大寫和小寫字元,至少有一位數字。你可能需要用多個正規表示式來測試該字串,以保證它的強度。import re text str input 輸入一串口令 def chec...