2014-10-10 32 views
0

我正在嘗試爲我的作業製作一個程序,並且對某個部分有問題。當用戶按Enter鍵,程序循環回去開始

程序的一部分要求用戶輸入第一個硬幣,如果用戶點擊ENTER鍵,那麼它應該重申程序,要求用戶再次輸入第一個硬幣,直到他們實際輸入一個數字。

我現在所擁有的這部分的代碼是:

coin = int(input("Enter first coin:)) 
    while coin == "": 
     coin = int(input("Enter first coin:)) 

我知道這裏的問題是,我試圖把空字符串這將創建一個錯誤的INT:

Traceback (most recent call last): 
builtins.ValueError: invalid literal for int() with base 10: '' 

所以我的問題是,我將如何改變我的程序,以便可以將空字符串更改爲int?我試圖通過互聯網搜索它,但我無法解決我的問題。

回答

0

使用一個無限循環,你可以擺脫和捕獲異常

while True: 
    try: 
     coin = int(input("Enter coin: ")) 
     break 
    except ValueError: 
     continue 

,如果它們不進入一個真實的值異常會被捕獲,然後再次通過循環。如果他們輸入一個真實的號碼,你會跳出循環