我在网上发现了一些练习题,大部分都可以解决,但这道题难倒了我。它不是家庭作业,所以我没有得到成绩。但是,没有提供解决方案,因此获得答案的唯一方法就是这样做。
该任务要求你写一个问题,玩数字 1-100 的数字猜谜游戏。但是,这个尝试通过区间猜测来猜测用户数,例如[1, 100]
使用 生成下一个问题first+last/2
。
我从该站点运行了一个示例。
想一个介于 1 到 100(含)之间的数字。
用字母 y 或 Y 回答下列问题,用字母 y 或 Y 表示是,用 n 或 N 表示否。
间隔:[1,100]。你的号码 <= 50 吗?y
间隔:[1,50]。你的号码 <= 25 吗?y
间隔:[1,25]。你的号码 <= 13 吗?y
间隔:[1,13]。你的号码 <= 7 吗?n
区间:[8,13]。你的号码 <= 10 吗?n
区间:[11,13]。你的号码 <= 12 吗?y
区间:[11,12]。你的号码 <= 11 吗?y
你的号码是:11
到目前为止,这是我的代码,但我什至不知道从哪里开始,因为 while 循环不断给我一个无限循环。我知道“中间”数字需要是一个整数,否则它将是一个无限循环,但我似乎无法弄清楚如何做到这一点。
x = input("Is your numbr <=50?")
count = 100
while x=="y" or "Y":
count = count/2
x = input("Is your number <=",count,"?")
print(count)
如果有人有任何提示,将不胜感激。