我寫由127乘以輸入數輸入裝置不接受的α以及數目的程序9.的Python雖然/對/ if語句
此外號9,它不允許任何數量的包含9例如99,19等。我們能克服這個嗎?
此外,如果我鍵入「99」,它會打印"Banned number"
兩次。這與第一個陳述有什麼聯繫?
banned_number = "9"
while True:
number = input("number ")
for items in number:
if items in banned_number:
print ("Banned number.")
elif number.isalpha():
print ("Sorry, numbers only.")
elif number.isdigit():
a = int(number)
print(a* 127)
我知道這個程序是沒用的,它顯然是 - 行使循環,這是最後的形狀,當我去上了軌道。有什麼辦法可以縮短這段代碼嗎?我們可以用一個簡單的代碼來使elif的過時嗎?
我將非常感謝您的耐心,因爲我上週剛剛啓動了Python,謝謝。
假設我們有兩個不同的被禁止的數字,9和1.那我們該怎麼辦呢?如果我們將它恢復爲for循環,如果我們輸入11,99等,是否有停止打印「禁止編號」兩次?謝謝。 – Ramon
@Ramon - 這將是'banned_number不在數字中,other_number不在數字中',或者更通用的'not any(n中的n代表banned_numbers)',或者'set(number)--set(banned_numbers)==設定(編號)'。而且沒有理由使用循環。 – TigerhawkT3