2017-10-05 19 views
0

所以我很初學編程,只是學習基礎知識。現在我想讓我的Python程序要求用戶給出一個數字,並繼續詢問一個循環是否給出字符串或其他東西。以更好的方式在Python中以整數形式詢問用戶輸入?

所以這是我出來了最好的:

value = False 
while value == False: 
    a = input("Give a number: ") 
    b = 0 
    c = b 
    try: 
     int(a) 
    except ValueError: 
     print("No way") 
     b += 1 
    if c == b: 
     value = True 

那麼有沒有更簡單,更好的方式來做到這一點?

+1

是的,有一個更好的辦法,但如果你是儘可能多的初學者的,你說你是,做好通過思考,並做一些在你的腦袋是有道理的,得到它的工作 – RSon1234

回答

3

您可以使用此:

while True: 
    try: 
     a = int(input("Give a number: ")) 
     break 
    except ValueError: 
     print("No way") 

或本:

while True: 
    a = input("Give a number: ") 
    if a.isdigit(): 
     break 
    print("No way") 
+0

我覺得OP問如果答案無效,保持循環運行 – PRMoureu

+0

@PRMoureu,是的,我的錯誤。但它沒有意義 – AndMar

+1

它只是爲了讓用戶輸入一個有效的號碼 – PRMoureu

1
while True: 
    try: 
     a = int(input("Give a number: ")) 
     break 
    except ValueError: 
     print("No way") 
     continue 

這將繼續提示用戶輸入一個整數,直到他們給一個。

+0

(如果沒有代碼後,最後一個'continue'不需要) – PRMoureu

+0

繼續使得它循環,而不是繼續到結尾 –

+0

否則它會保持一旦他們給了一個整數 –

0
value = True 
while value == True: 
    a = input("Give a number: ") 
    try: 
     int(a) 
    except ValueError: 
     print("No way") 
     continue 
    print("Yay a Number:", a) 
    value = False 

這是你所需要的?

相關問題