所以我试图在这里编写一个程序,要求输入,然后检查输入是否有整数、布尔值或浮点数,如果有这些字符中的任何一个,那么它将再次要求输入。我想做的不仅仅是写作str(input())
就像用户输入一个int
or bool
等等它将打印错误并停止程序。
这是我目前所拥有的,但它不起作用:
x=input('Enter your name: ')
while True:
if x==int or x==bool or x==float:
print('error, incorrect name please try again!')
else:
print('Nice name', x, '!')
break
如果您能帮忙请回复。
您似乎想检查您的姓名仅包含字母数字字符和可能的空格。您可以通过以下方式实现此目的str.isalpha
按空格分割后。
请记住input
总是返回一个字符串,因此需要使用字符串方法来验证用户输入。您可以使用检查空字符串if not x
作为额外的验证。用于type
or isinstance
是不合适的。
此外,您还需要包括input
在你的while
循环以便用户能够重新输入名称。这是一个例子:
while True:
x = input('Enter your name: ')
if (not x) or (not all(i.isalpha() for i in x.split())):
print('Error, incorrect name please try again!')
else:
print('Nice name', x, '!')
break
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)