2017-10-05 12 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 

これは、彼らが1を与えるまでの整数をユーザーに要求していきます。

+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 

これは必要なのですか?

関連する問題