import random
rnd=0
guessesTaken = 0
print('Hello! What is your name?')
myName = input()
for i in range (10):
print('---round' +str(rnd+1) +'---')
number = random.randint(1, 20)
print('Well, ' + myName + ', I am thinking of a number between 1 and 20.')
while guessesTaken <= 5:
***~the error ^^^~***
print('Take a guess.')
guess = input()
guess = int(guess)
guessesTaken = guessesTaken + 1
if guess < number:
print('Your guess is too low.')
if guess > number:
print('Your guess is too high.')
if guess == number:
break
if guess == number:
guessesTaken = str(guessesTaken)
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)
rnd=rnd+1
我试图将一个圆形的系统放入这款猜测游戏中,但是在第二轮时说:"好吧,艾丹,我正在考虑1到20之间的数字。"有一个错误说
TypeError: '<=' not supported between instances of 'str' and 'int'
从第15行。
当您说guessesTaken = str(guessesTaken)
时,原始guessesTaken
变量( integer (将变成 String 。然后,当您第二次验证while
环路条件guessTaken <= 5
时,您将A String 与 Integer ...所支持的,如您的错误所述'<=' not supported between instances of 'str' and 'int'
。
正如评论中所述,解决方案将更好地了解字符串格式和打印用法。您无需完全转换您的变量(意味着将整数转换为字符串(。
您可以做而不是...
guessesTaken = str(guessesTaken)
print('Good job, ' + myName + '! You guessed my number in ' + guessesTaken + ' guesses!')
这个:
print('Good job, {} ! You guessed my number in {} guesses !'.format(myName, guessesTaken))
这样做,您只是按照来打印变量,而不是将其施放到另一种类型中。如果您仍然自己的方式(顺便说一句 bad (,您可以做...
guessesTaken = str(guessesTaken)
print('Good job, ' + myName + '! You guessed my number in ' + guessesTaken + ' guesses!')
guessesTaken = int(guessesTaken)