python循环打印太高/太低/其他

python循环打印太高/太低/其他,python,loops,Python,Loops,你好,我有一个问题,这个循环打印“太高或太低”或打印其他无休止地,不让我尝试数字猜测游戏,我需要做的学校作业 choice=int(input('pick a maximum number:')) max_value=int(choice) #defines max_value import random rand_num=random.randint(1,max_value) playerguess=int(input('guess a number:')) #it had to be

你好,我有一个问题,这个循环打印“太高或太低”或打印其他无休止地,不让我尝试数字猜测游戏,我需要做的学校作业


choice=int(input('pick a maximum number:'))

max_value=int(choice) #defines max_value

import random
rand_num=random.randint(1,max_value)

playerguess=int(input('guess a number:')) #it had to be int(input) so it can be numberized, same as the rest of the loop

counter=0

while counter<=10:
    counter+=1
    if counter==10:
        print('too many guesses try again')
        break
    
    if playerguess>rand_num:
        int(input('too high, try again:'))

    if playerguess<rand_num:
        int(input('too low try again:'))

    elif rand_num==playerguess:
        print('Congratations you got it in', counter, 'guesses')
        break

    else:
        playerguess=print('something went wrong try to fix the code')
        break

#guess had to be input so that it can loop again. its still a test tho, might need adjustments

#loop half working but prints(else) too often to make any sense, or is trapped in "too high/too low" loop

#Limit inputed so it doesnt repeat endlessly successfully```

choice=int(输入('选择最大值:'))
max_value=int(选项)#定义max_值
随机输入
rand_num=random.randint(1,最大值)
playerguess=int(input('guess a number:'))#它必须是int(input),因此可以对其进行编号,与循环的其余部分相同
计数器=0
而counterrand_num:
int(输入('太高,请重试:'))
如果playerguess您需要,可以使用“continue”方法:

max_value=int(input('pick a maximum number: '))

rand_num=random.randint(1,max_value)

counter=0

while counter<=10:
    playerguess=int(input('guess a number:'))
    counter+=1
    if counter==10:
        print('too many guesses try again')
        break
    
    if playerguess<rand_num:
        print("too low try again")
        continue
    if playerguess>rand_num:
        print("too high try again")
        continue
    elif rand_num==playerguess:
        print('Congratations you got it in', counter, 'guesses')
        break
max\u value=int(输入('选择最大值:'))
rand_num=random.randint(1,最大值)
计数器=0

当计数器
如果playerguess您没有将用户输入分配给对象
playerguess
,它应该是
playerguess=int(输入('过高,请重试:'))
对于所有
input()
您也可以将
playerguess=print(…
更改为当前代码分配的
print(…
输出(等于
None
)到
playerguess
。您可能不想这样做
max\u value=int(选项)中的
int
是没有意义的,因为它上面的一行将
choice
定义为int。对于完全相同的数量,有两个名称似乎也是没有意义的。变量
choice
的意义是什么?为什么不直接使用
max\u value=int(输入('pick a maximum number:'))
在第一行?这样它就可以在猜数字游戏中进行数字化。而且它会在不应该的时候尝试做数学运算,然后出现类“int”错误。@KrishnaChaurasia我试图修复循环中的输入,它会像第二个循环中的其他输入一样返回。它应该让我继续猜测,直到它用完或我得到它或者你可以使用一个函数来做,如果你想点击一个最大值:44猜一个数字:23太低,再试一次猜一个数字:21个一致性你猜了两次就得到了-那不可能是对的…使用“”是个问题,我编辑了它。
    if playerguess<rand_num:
    elif playerguess<rand_num: