我已经为20个问题游戏编写了一个代码,该代码应该可以猜测用户从1到100中选择的数字。但是,它不断显示相同的输出,如下所示。请帮助我找到错误。
代码为:
a=1
b=10
for i in range(a,101):
y=input(print("Is your number b/w",a,"to",b,"including both ? Answer Yes or No"))
if(y==Yes):
j=a
for j in range(a,b+1):
x=input(print("Is your no.",j,"?"))
if(x==Yes):
print("Your number is",j)
else:
j=j+1
if(y==No):
break
a=a+10
b=b+10
输出看起来像这样
您的b / w数字是1还是10(包括两者)?回答是或否
无
答案 0 :(得分:0)
在线查看一些示例,了解如何使用输入函数以及将其用作参数。
您看到的值None是打印语句的返回。
答案 1 :(得分:0)
input(print("Is your number b/w",a,"to",b,"including both ? Answer Yes or No"))
应该是:
input("Is your number b/w " + str(a) + " to " + str(b) + " including both ? Answer Yes or No")
input
接受一个字符串作为参数,将其打印出来。您传递了print
作为参数。
由于print
不返回任何内容,因此您得到的输出为None
此外,除非您将Yes
和No
定义为变量,否则应将它们用单引号或双引号引起来:
通过这种方式(不推荐):
Yes = 'Yes'
No = 'No'
....
或者以这种方式(推荐):
if y=='Yes':
....
您需要以这种方式对所有input
和if
语句进行更改。