1. 程式人生 > >python學習:一

python學習:一

第三章:實踐題作業

1、編寫一個名為 collatz()的函式,它有一個名為 number 的引數。如果引數是偶數,那麼 collatz()就打印出 number // 2, 並返回該值。如果 number 是奇數, collatz()就列印並返回 3 * number + 1

def collatz(number):
     a = number % 2
    if a == 0:
        return number // 2
    elif
a == 1:
        return 3 * number+1
print(collatz(19))

 

2、編寫一個程式, 讓使用者輸入一個整數, 並不斷對這個數呼叫 collatz(), 直到函式返回值1(令人驚奇的是, 這個序列對於任何整數都有效, 利用這個序列,你遲早會得到 1! 既使數學家也不能確定為什麼。 你的程式在研究所謂的“Collatz序列”,它有時候被稱為“最簡單的、 不可能的數學問題”)。第 3 章 函式記得將 input()的返回值用 int()函式轉成一個整數,否則它會是一個字串。

def collatz(number):
a = number % 2
    if number == 1:
        return  number
   
elif a == 0:
        number = number // 2
        print(number)
        collatz(number
)
    elif a == 1:
        number = 3 * number+1
        print(number)
        collatz(number)
while True:
    try:
        num = int(input("請輸入一個整數->:"))
        collatz(num)
        break
    except
ValueError:
        print("please input a integer number")

 

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

檢測是否整數方法1:

try:
num = int(input("請輸入一個整數->:"))
except ValueError:
    print("please input a integer number")

方法2:

num = input("請輸入一個整數->:")
if num.isdigit():
    num = int(num)
else:
    print("please input a integer number")