要求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
1view code#!/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
"你輸入的不是正整數,程式結束!"21
except:22
"你輸入的不是正整數,程式結束!
"
顯示結果:
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...