私はCasio CFX-9850Gでgoto
のように機能するかどうか疑問に思ったので、私は乱数推測ゲームをコードしようとしました。 私は入力をサニタイズし、エラーメッセージを生成するようにはなっていません(例えば、max
を低く設定したり、数字の代わりに文字を入力したり、max以上を推測するなど)。私の最初の問題は、私のコードはエラーを生成していないが、最大値を3に設定して0,1,2,3,4,5を試しても、数字を推測することができないということです。私はループを作ったようですが、どこにあるのか分かりません。 は、ここに私のコードです:なぜ私はループで立ち往生しているようですか?
import random
print "GUESS MY NUMBER"
max=int(raw_input("Guess number between 1 and what?"))
randomnumber = random.randint(1,max)
def make_guess(guess):
if guess == randomnumber:
print "Congratulations, you guessed my number!"
else:
guess=raw_input("Guess again?")
make_guess(guess)
guess=int(raw_input("What is your best guess?"))
make_guess(guess)
print "My number was" ,randomnumber
、それが生成されます。
GUESS MY NUMBER Guess number between 1 and what? 3 What is your best guess? 0 Guess again? 1 Guess again? 2 Guess again? 3 Guess again? 4
今、私は正しい推測されるまでループするコードを望んでいたが、私は正しい推測がif
コードを誘発すると期待されます。
関数定義をコードの先頭に移動するか、メイン関数を定義します。トップレベルのコードと機能を混同しないでください。 –
@VaibhavAggarwal私は理解していません。私の 'def make_guess'を' print "GUESS MY NUMBER"の上に移動することを意味しますか?私はそれを試み、それは私の問題を解決しませんでした。 – toonarmycaptain