【发布时间】:2015-06-09 07:04:29
【问题描述】:
所以我正在尝试编写一个代码,让计算机猜测用户想到的数字。我使用了 (x,y) 之间的范围,并为 x 和 y 指定了 0 和 10 的值。
计算机在这些之间选择一个随机数,然后询问该数字是否正确,如果不正确,则询问它是更高还是更低。
这里是棘手的部分,或者实际上正是我想要解决它的方式。如果用户说它是一个更大的数字,那么它将x设置为猜测数字,并循环回到猜测部分,并再次进行,如果它更低,则将y设置为猜测。
这是我为此编写的代码:
import random
x = 0
y = 10
guessing_loop = "y"
no_guess = 0
while guessing_loop == "y":
guess = random.randint(x - 1,y + 1)
no_guess = no_guess + 1
print("The number I think you thought of is",guess,".")
TF = input("Did you think of that number?")
if TF in {"yes","y","yeah"}:
print("Hell yeah, the number of guesses I had was:",no_guess,".")
elif TF in{"no","nah","nay","n","nope"}:
HL = input("Then was it a higher or a lower number?")
if HL in {"higher","h"}:
x = guess
elif HL in {"lower","l"}:
y = guess
input()
为什么这段代码不起作用?
这段代码根本没有按照我的预期去做,它不会在猜测之间寻找随机数,或者我什至不确定出了什么问题。
【问题讨论】:
-
人们对此表示反对并投票关闭它;您需要付出更多努力来调试自己的代码:根据实际情况添加尽可能多的打印语句。
-
非常感谢您的帮助,我非常感谢这些建议。我对编程和这个社区都是新手,我仍在努力适应,我不想惹恼任何人。从现在开始,我将在每个代码中添加更多打印语句。
-
当然。欢迎使用 Python,也欢迎使用 SO。请简要浏览FAQ 并浏览其他一些 Python 初学者问题,以了解如何在此处提出问题以获得最佳响应的好技巧。此外,您可能会喜欢 CodeReview 进行一般代码审查,而不是具有明确客观答案的特定问题。
-
另外,不要调用响应变量
TF(变量名中不允许使用大写),例如调用它response或correct什么的。 Python 有一个定义明确的样式指南,称为PEP-8。通常预计海报会跟随它。同样HL->higher_lower. -
@smci "为什么这段代码不起作用?"问题与代码审查无关。请阅读Be careful when recommending Code Review to askers
标签: python python-3.x