While循环与if语句不起作用

时间:2020-06-06 13:21:13

标签: if-statement while-loop

只要名称不是“ 1234”,我希望运行while循环。如果名称仅是空格,我想打印“名称不能仅是空格”,然后再次输入名称。另外,我希望它只是再问一个名字。

name=input("")


while (name!="1234"):
  if(name.isspace):
    print ("name can not be only spaces")
    name=input("")
  else:
    name=input("")

我遇到的问题是,无论我给它提供什么字符串,它都会打印“名称不仅可以是空格”。即使字符串没有空格,它也会打印if语句。发生了什么事?

2 个答案:

答案 0 :(得分:1)

您可能只是缺少isspace函数的括号。
因此,将isspace变成isspace(),就可以了。

答案 1 :(得分:0)

正如Mat已经提到的那样,您面临的问题仅仅是因为name.ispace不会返回程序中所需的布尔值。

enter image description here

此外,我认为您可以稍微简化一下代码-

name=input("")


while (name!="1234"):
  if(name.isspace()):
    print ("name can not be only spaces")

  name=input("")