高低:电脑猜你的麻木

2024-10-05 14:28:30 发布

您现在位置:Python中文网/ 问答频道 /正文

全部。我对编程很陌生,我正试图找出我的代码为什么不能正常工作。直到你告诉计算机它的第一个猜测值是太高(h)还是太低(l),它运行得很好。如果,比方说,猜测太高,告诉计算机,每次猜测之后都会继续猜低,不管你是否输入过低(l)。反过来也会发生。希望有人能帮忙。这是密码!在

import random
import time

print "Think of a number between 1 and 100 and I'll try and guess it."
time.sleep(2)
print "Let me know if my guess is too (h)igh, too (l)ow, or (c)orrect."
time.sleep(2)

guess = int(raw_input("Pick your number between 1-100: "))

low = 1
high = 100
tries = 0
compguess = random.randrange(low, high)
h = compguess > guess
l = compguess < guess
c = compguess == guess

while compguess != guess:
    tries += 1
    print "Is it", compguess

if h:
    raw_input ()
    new_high = (compguess - 1)
    compguess = random.randint(low, new_high)

elif l:
    raw_input ()
    new_low = (compguess + 1)
    compguess = random.randint(new_low, high)

elif c:
    raw_input ()
    print("The computer guessed your number of: ", guess)

请原谅间隔。我不太清楚如何正确地复制它。在


Tags: andofimportnumbernewinputrawtime
1条回答
网友
1楼 · 发布于 2024-10-05 14:28:30

raw_input()函数返回一个值。如果不将返回值赋给变量或对其执行其他操作,则返回的值将被Python丢弃。在

你可能想要这样的东西:

print "Is it", compguess
answer = raw_input()
if answer == "h":
    ...
elif answer == "l":
    ...

这样,您就提示用户输入,等待用户键入内容,然后根据用户输入的内容进行操作。在

您也不需要hl或{}局部变量。在你的代码中它们并没有真正起作用。在

最后,为什么要让用户告诉计算机用户在想什么号码?这个练习的目的不是让计算机在不知道结果的情况下猜测用户的号码吗?在

相关问题 更多 >