2016-05-20 4 views
0

私はこの質問にどのように言いたいのか正確には分からないので、私に同行してください。そして、私はPythonに半期的です。私はraw_inputを使ってこの非常に単純なプログラムを持っています。ユーザー入力がintに変換できるかどうかをテストしたいと思います。私はraw_inputがはい、それを変換する場合、文字列として変換str/intの場合はPython

答えて

1

それを残していない場合、ユーザーはあなたがtry/exceptを使用することができ、int型に変換できるかどうかをテストする文字列

while True: 
    user = raw_input('?') 

何かを返し承知していますし、 (pass付き)空exceptケースを残す:

userInput = raw_input("Give some input: ") 

try: 
    userInput = int(userInput) 
except ValueError: 
    pass 
+0

(1)あなたはそれを避けることができる場合を除き、生は絶対に使用しないでください。この場合、 'except ValueError'を使用してください。これは' int'によって投げられたエラーです。 (2)OPが次に何をしたいかによって、例外ブロックに入るべきであろう。現在、このプログラムは何が起きても同じ結果になります。後で 'userInput'を使用しようとすると、入力が無効な場合に別の種類のエラーが発生します。 –

+0

ええ、「ValueError」のキャッチについては正しいですが、私は自分の答えを編集しました。しかし、あなたの第2のポイントについて:指定されたOP: 'もしそうなら、それを文字列として残していなければそれを変換する 'ので、技術的には私の答えは間違っていません。はい、変数を後で変数を使用するたびにチェックする必要があるので、可能であれば変数を文字列からintに変更するだけでは意味がありませんが、これは上です彼がそれをどのように処理したいかを決定するためにOPに。 – Keiwan

+0

申し訳ありませんが、私はコードを誤解しました。 –