为什么我似乎陷入了循环?

时间:2017-05-05 03:55:05

标签: python loops random

我试图编写一个随机数猜测游戏,主要是因为我想知道我的卡西欧CFX-9850G上是否有{/ 1}}的功能。 我没有对输入进行消毒并生成错误消息(例如,设置goto太低,输入字母而不是数字,猜测超过最大值等)。我最初的问题是,虽然我的代码没有产生错误,但我似乎无法猜测数字,即使我将max设置为3并尝试0,1,2,3,4,5。好像我已经创建了一个循环,我无法弄清楚在哪里。 这是我的代码:

max

并生成:

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代码。

1 个答案:

答案 0 :(得分:3)

您忘记将输入转换为else子句中的整数。如果您在第一次尝试时猜测它实际上是有效的,因为您在其他地方之外进行转换。

更改else的第一行:

guess=raw_input("Guess again?")

guess=int(raw_input("Guess again?"))

你应该好好去。