如何使仅包含空格的字符串在python中成为无效输入

如何使仅包含空格的字符串在python中成为无效输入,python,python-3.x,Python,Python 3.x,我是一个使用python编码的新手,我正在尝试编写一段小代码来打印终端中输入的任何内容,但我不希望任何内容只包含空格,没有其他字符,或者甚至没有要打印的输入。代码如下: while True: my_name= input("> ") if "" in my_name: print("I don't know what that means. Please choose a valid answer.&qu

我是一个使用python编码的新手,我正在尝试编写一段小代码来打印终端中输入的任何内容,但我不希望任何内容只包含空格,没有其他字符,或者甚至没有要打印的输入。代码如下:

while True:

    my_name= input("> ")
    if "" in my_name:
        print("I don't know what that means. Please choose a valid answer.")
    else:
        print(f"Ah, I see, so your name is {my_name}?")
希望有多种解决方案,并感谢您的帮助:)

我认为这应该能奏效

if my_name.isspace():
    print("Your name is full of spaces")

我认为这应该能奏效

if my_name.isspace():
    print("Your name is full of spaces")

有一种方法是使用try-except块和一个flag变量对无输入进行异常处理,该变量检查输入是否只包含空格

try:
    flag = False
    my_name = input()
    for i in my_name:
        if i != ' ':
            flag = True
    if flag:
        print(my_name)
    else:
        print('Invalid input')
except:
    print('No input')
其他方法可以使用内置函数strip(),该函数删除输入中的尾随空格和前导空格。 如果输入只有空格,则strip()将删除所有空格,从而生成空字符串

try:
    my_name = input()
    if my_name.strip() == '':
        print('Invalid input')
    else:
        print(my_name)
except:
    print('No input')

有一种方法是使用try-except块和一个flag变量对无输入进行异常处理,该变量检查输入是否只包含空格

try:
    flag = False
    my_name = input()
    for i in my_name:
        if i != ' ':
            flag = True
    if flag:
        print(my_name)
    else:
        print('Invalid input')
except:
    print('No input')
其他方法可以使用内置函数strip(),该函数删除输入中的尾随空格和前导空格。 如果输入只有空格,则strip()将删除所有空格,从而生成空字符串

try:
    my_name = input()
    if my_name.strip() == '':
        print('Invalid input')
    else:
        print(my_name)
except:
    print('No input')
Python isspace()方法用于检查字符串中的空格。如果字符串中只有空格字符,则返回true。否则返回false。 例:

Python isspace()方法用于检查字符串中的空格。如果字符串中只有空格字符,则返回true。否则返回false。 例:


这样,您可以使用
bool
s:

while True:
    my_name= input("> ")
    if my_name.strip():
        print(f"Ah, I see, so your name is {my_name}?")
    else:
        print("I don't know what that means. Please choose a valid answer.")
        
        

这样,您可以使用
bool
s:

while True:
    my_name= input("> ")
    if my_name.strip():
        print(f"Ah, I see, so your name is {my_name}?")
    else:
        print("I don't know what that means. Please choose a valid answer.")
        
        

if my_name.strip()==”
if all(a中的字符为char==”)因为您需要多个解决方案:使用正则表达式过度杀戮:
if re.match(“^*$”,my_name)
请不要在注释中回答问题。
if my_name.strip()==”
if all(a中的字符为char==”)因为您需要多个解决方案:使用正则表达式过度使用:
如果re.match(“^*$”,我的名字)
请不要在评论中回答问题。还有一个旁注,isspace()不检查
None
和“”,旁注,isspace()不检查
None
和“我尝试了您提供的两种方法,但由于某种原因,除此之外的部分从未工作过,第一个方法只是打印“无效输入”,不管我输入什么。(只是告诉你,希望你不要生气)编辑:同样对于第二种方法,即使除了不起作用外,当我没有输入时,它仍然提供无效的输入,所以它很好。它在我的系统中工作得很好。。虽然我发现Exception部分不能在终端上工作,但它可以在在线ide和自定义输入文件上工作。可以使用if语句解决此问题
如果my_name='':print('no input')
我尝试了您提供的两种方法,但由于某种原因,except部分一直不起作用,第一种方法只是打印了“Invalid input”,不管我输入了什么。(只是告诉你,希望你不要生气)编辑:同样对于第二种方法,即使除了不起作用外,当我没有输入时,它仍然提供无效的输入,所以它很好。它在我的系统中工作得很好。。虽然我发现Exception部分不能在终端上工作,但它可以在在线ide和自定义输入文件上工作。可以使用if语句解决此问题<代码>如果我的名字='':打印('无输入')