High/low 场比赛 python

High/low game in python

'''

import random

correct_num = random.randint(0,10)

guess = int(input('What is your guess?'))
while guess != correct_num:
    if guess > correct_num:
        print('Your guess is to big')
    if guess < correct_num:
        print('Your guess is to small')
    else:
        if guess == correct_num:
            print('Yes! You are correct')

'''

这是我目前所拥有的,当我 运行 代码时,它会无限地打印输出。我怎样才能让它给出一个输出并返回进行另一次猜测?

你可以简单地这样做:

import random

correct_num = random.randint(0,10)


while True:
    guess = int(input('What is your guess?'))
    if guess == correct_num:
        print('Yes! You are correct')
        break
    elif guess > correct_num:
        print('Your guess is to big')
    elif guess < correct_num:
        print('Your guess is to small')


您需要在循环内获取输入。另外,您可以设置 guess=-1 因为随机数永远不会是 -1,因为它不在范围内。

import random
guess=-1
correct_num = random.randint(0,10)
while guess != correct_num:
    guess = int(input('What is your guess?'))
    if guess > correct_num:
        print('Your guess is to big')
    if guess < correct_num:
        print('Your guess is to small')
    else:
        if guess == correct_num:
            print('Yes! You are correct')

你可以在你的if语句末尾加上关键字break,你的问题就解决了。顺便说一下,您也可以尝试让用户说 3 次尝试。在我们的例子中,它只有 1 次尝试。


import random

correct_num = random.randint(0,10)

guess = int(input('What is your guess?'))

while guess != correct_num:

    if guess > correct_num:
        print('Your guess is to big')
        break
    elif guess < correct_num:
        print('Your guess is to small')
        break
    else:
        if guess == correct_num:
            print('Yes! You are correct')
            break