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

问题描述 投票:0回答:2

我已经编写了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

输出看起来像这样

您的电话号码是否为1到10,包括两者?回答是或否

没有

spyder python-3.7
2个回答
0
投票

在线查看一些如何使用输入函数以及它作为参数所需的示例。

您看到的值None是print语句的返回值。


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语句进行更改。

© www.soinside.com 2019 - 2024. All rights reserved.