這是我當前的代碼:
account_number = [" "]
uinput = int(input("Type some Bank account numbers. Type "quit" to stop: "))
while uinput != "quit":
account_number.append(uinput)
else:
print(Kontonummern, frozenset)
我想將“uinput”存盤在我的串列“account_number”中,直到用戶輸入“quit”。之后串列應該變成一個frozenset并列印出來。
截至目前,我只能輸入 1 個帳號,然后程式崩潰。
uj5u.com熱心網友回復:
這不起作用,因為您不再在回圈中呼叫任何輸入。這意味著在第一次輸入之后,您會呼叫一個無限回圈。
此外,“退出”的終止也不起作用,因為您正在嘗試將 uinput 加載到整數中。這意味著一旦用戶輸入“quit”,就會發生錯誤,因為該字串無法轉換為整數值。
如果您只想使用字串,它現在可以這樣作業:
account_number = [" "]
uinput = input("Type some Bank account numbers. Type quit to stop: ")
while uinput != "quit":
account_number.append(uinput)
uinput = input("Type some Bank account numbers. Type quit to stop: ")
else:
print(account_number, frozenset)
uj5u.com熱心網友回復:
試試這個:
account_number = [" "]
uinput = input("Type some Bank account numbers. Type quit to stop: ")
while uinput != "quit":
account_number.append(int(uinput))
uinput = input("Type some Bank account numbers. Type quit to stop: ")
else:
print(Kontonummern, frozenset(account_number))
問題是你從來沒有更新你的 uinput。而且您的輸入可以“退出”,但您將其轉換為 int,這也會導致問題。
uj5u.com熱心網友回復:
你永遠不會改變uinput你的回圈,所以一旦你的程式進入回圈,它就永遠不會離開(好吧,直到 Python 記憶體不足)。
最簡單的方法是重組你的回圈,這樣input呼叫就在它里面。單獨的if陳述句用于測驗輸入并跳出回圈。
account_number = []
while True:
uinput = int(input("Type some Bank account numbers. Type "quit" to stop: "))
if uinput == "quit":
break
account_number.append(uinput)
account_number = frozenset(account_number)
print(account_number)
您還可以使用input()Jhanzaib 所示的兩個陳述句。這種策略(我學會了將其稱為“啟動閱讀”),但困難在于如果需要更改提示,則需要在兩個地方更改提示。當然,您可以利用它來提供兩種不同的提示(“輸入第一個帳號”、“輸入其他帳號”)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/466074.html
