如何修复Python中的输出错误?它一直显示“无”

时间:2019-04-20 11:53:00

标签: spyder python-3.7

我已经为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(包括两者)?回答是或否

     

2 个答案:

答案 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

此外,除非您将YesNo定义为变量,否则应将它们用单引号或双引号引起来:

通过这种方式(不推荐):

Yes = 'Yes'
No = 'No'
....

或者以这种方式(推荐):

if y=='Yes':
    ....

您需要以这种方式对所有inputif语句进行更改。