2016-07-13 20 views
0

私はここで新しいですし、私は新しいコーディングです。 私は実際にPythonを学んでいます。私はすでにすべてを試したので質問がありますが、解決できませんでした。Pythonでの例外処理

私はチュートリアルで見た小さなゲームからこのコードを持っています。目的は、ユーザーが数を推測することです。私がしようとしていたのは、ユーザーが文字を入力してからエラーメッセージを表示してループに戻る場合に例外を処理することです。誰かが私を助けてくれたら、私は感謝します。

import random 

highest = 200 
answer = random.randrange(highest) 
guess = raw_input("Guess a number from 0 to %d:" %highest) 
while(int(guess)!=answer): 
    if (int(guess) < answer): 
     print "Answer if higher" 
    else: 
     print "Answer is lower" 
    guess=raw_input("Guess a number from 0 to %d: " %highest) 
raw_input ("You're a winner Face!!!") 
+0

これは、例外処理なしで行うことができます。 raw_input()は常に文字列を返し、文字列はisdigit()メソッドを持ちます。これはbooleanコンテキストで使用できます。本当に例外処理を使用したいですか? – sphere

答えて

1

これは、私はそれを行うだろうかです:

import random 

highest = 200 
answer = random.randrange(highest) 
while True: 
    try: 
     guess = int(input("Guess a number from 0 to %d: " %highest)) 
     if guess < answer: 
      print("Answer if higher") 
     elif guess > answer: 
      print("Answer is lower") 
     else: 
      print("You're a winner Face!!!") 
      break 
    except: 
     print('Input not valid!') 
     continue 

私はwhileにダミー条件を持っていると私はcontinuebreakを使用して、ループ内からの流れを演出しています。私はtry-exceptブロックで全体の推測チェック手順をラップしましたが、実際にはを試した唯一のものは、integerへの入力の変換です。です。 exceptビットの後に他のすべてを移動することもできます。

+0

あなたの助けてくれてありがとう、今私はこれで学び、もっと練習します:) – Useranonimo