python - 高低: Computer guesses your number

标签 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)

请原谅间距。我不太确定如何正确复制它。

最佳答案

raw_input() 函数返回一个值。如果您没有将返回值分配给变量或以其他方式对其进行处理,则返回的值将被 Python 丢弃。

你可能想要这样的东西:

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

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

您也不需要 hlc 局部变量。它们实际上在您的代码中没有任何作用。

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

关于python - 高低: Computer guesses your number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30690149/

相关文章:

python - 带有自定义按钮的 QStyledItemDelegate

python - 有没有办法合并帖子/评论流?

Python XML 解析并计算字符串的出现次数,然后输出到 Excel

c# - P/Invoke 在 C# 和非托管 DLL 之间编码和解码二维数组、结构和指针

python - 如何重新启动 Python 脚本?

php - 重力形式签名——从 PHP 到 Python

python - 解码 Pyramid POST 数据(MultiDict 对象)

python - 当你只知道部分文件名时 Read_csv

Python 位串 uint 被视为 long

python - 在python中将文本写入zipfile