我的随机数游戏圆形系统麻烦


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)

最新更新