我有两个用户输入:在第一个用户必须插入字符串类型的文本,在第二个用户必须插入 int 类型的数字。
我使用了 try/ except ValueError,因此用户无法在需要 int 的地方插入字符串。尽管当用户在需要字符串的地方插入 int 时 ValueError 将不起作用。
当插入int时,询问str时,输入值怎么可能为假?
这是我现在的代码:
while True:
try:
name_input = input('Insert name')
name = str(name_input)
number = input('Insert number: ')
num = int(number)
except ValueError:
print('Wrong')
如果您希望整个名称按字母顺序排列,您只需添加一个if
像这样的声明:
if not name.isalpha():
print("wrong, your name can only include alphabetic characters")
或者更好地适合您的简短示例:
if not name.isalpha():
raise ValueError
这将只接受根本不包含任何数字的输入字符串。
如果您想允许在您的name
只要名称以字母开头,您也可以使用类似以下内容的名称:
if len(name) < 1 or not name.isalnum() or not name[0].isalpha():
raise ValueError
这首先检查名称是否至少有 1 个字符长,然后检查整个名称是否仅由字母字符和数字组成,最后检查第一个字符是否是字母字符。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)