寻求以下代码块的帮助。
## This is a number guessing game!
import random
guessesTaken = 0
print('Hello! What is your name?')
myName= input()
number= random.randint(1, 20)
print ('Well, '+ myName + ', I am thinking of a number between 1 and 20.')
for guessesTaken in range(6):
print ('Take a guess.')
guess=input()
guess=int(guess)
if guess < number:
print ('Your guess is too low.')
if guess > number:
print('Your guess is to high!')
if guess == number:
break
if guess == number:
guessesTaken = str(guessesTaken+1)
print('Good job, '+ myName + '! You guessed my number in ' + guessesTaken + ' guesses!')
if guess != number:
number= str(number)
print('Nope. The number I was thinking of was ' + number + '.')
答案 0 :(得分:2)
我猜你想要执行break
之外的代码,我会将你的代码更改为
## This is a number guessing game!
import random
guessesTaken = 0
print('Hello! What is your name?')
myName= input()
number= random.randint(1, 20)
print ('Well, '+ myName + ', I am thinking of a number between 1 and 20.')
for guessesTaken in range(6):
print ('Take a guess.')
guess=input()
guess=int(guess)
if guess < number:
print ('Your guess is too low.')
elif guess > number:
print('Your guess is to high!')
elif guess == number:
# print 'Good job' here instead of beyond the break in a separate if statement
guessesTaken = str(guessesTaken+1)
print('Good job, '+ myName + '! You guessed my number in ' + guessesTaken + ' guesses!')
break
if guessesTaken == 5:
number= str(number)
print('Nope. The number I was thinking of was ' + number + '.')
通过这种方式,程序会检查您的猜测是否结束 - if guessesTaken == 5:
如果您猜测数字,那么在打印good job
之后它会中断
答案 1 :(得分:1)
我想你想这样做:(试一试)
import random
guessesTaken = 0
print('Hello! What is your name?')
myName= input()
number= random.randint(1, 20)
print ('Well, '+ myName + ', I am thinking of a number between 1 and 20.')
print(number)
for guessesTaken in range(6):
print ('Take a guess.')
guess=input()
guess=int(guess)
if guess < number:
print ('Your guess is too low.')
if guess > number:
print('Your guess is to high!')
if guess == number:
break
if guess == number:
guessesTaken = str(guessesTaken+1)
print('Good job, '+ myName + '! You guessed my number in ' + guessesTaken + ' guesses!')
if guess != number:
number= str(number)
print('Nope. The number I was thinking of was ' + number + '.')
你不应该缩进:
if guess == number:
guessesTaken = str(guessesTaken+1)
print('Good job, '+ myName + '! You guessed my number in ' + guessesTaken + ' guesses!')
if guess != number:
number= str(number)
print('Nope. The number I was thinking of was ' + number + '.')
答案 2 :(得分:1)
import random
maxGuesses = 6
guessed = False
myName = input('Hello! What is your name? ')
number = random.randint(1, 20)
print ('Well, {0}, I am thinking of a number between 1 and 20.'.format(myName))
for guessesTaken in range(1, maxGuesses + 1):
guess = int(input("Guess: "))
if guess < number:
print ('Your guess is too low!')
if guess > number:
print('Your guess is to high!')
if guess == number:
guessed = True
break
if guessed:
print('Good job, {0}! You guessed my number in {1} guesses!'.format(myName, guessesTaken))
print("Congrats you win!")
elif not guessed:
print("Shucks, you lose!")
你的休息有效,但你得到的错误是,当你使用break时,循环结束并且没有达到下一个条件。
*以上代码有点整洁*