Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何控制用户的输入_Python_User Input - Fatal编程技术网

Python 如何控制用户的输入

Python 如何控制用户的输入,python,user-input,Python,User Input,所以我有一个基本的程序,要求用户输入他的名字和SS,我想这样做,用户不能输入str或float,因为他应该输入int。我试过了,但它会永远循环,因为If语句正在检查输入的数据类型是str还是int,如何检查变量是int还是str?您正在尝试将值与类型进行比较。相反,您应该存储名称并检查是否只有字母.isalpha,然后尝试对安全号码进行类型转换。如果失败,则它不是有效的输入。对SSN使用isnumeric也是一个选项。比如: name = input('Enter your name plea

所以我有一个基本的程序,要求用户输入他的名字和SS,我想这样做,用户不能输入str或float,因为他应该输入int。我试过了,但它会永远循环,因为If语句正在检查输入的数据类型是str还是int,如何检查变量是int还是str?

您正在尝试将值与类型进行比较。相反,您应该存储名称并检查是否只有字母.isalpha,然后尝试对安全号码进行类型转换。如果失败,则它不是有效的输入。对SSN使用isnumeric也是一个选项。比如:

 name = input('Enter your name please: ')
 while name != str:
     name = input('Please enter only letters for your name: ')
 ss = input('Enter your Social Security Number: ')
 while ss != int:
     ss = input('Please enter only numbers for your social security number:')


您正在尝试将值与类型进行比较。相反,您应该存储名称并检查是否只有字母.isalpha,然后尝试对安全号码进行类型转换。如果失败,则它不是有效的输入。对SSN使用isnumeric也是一个选项。比如:

 name = input('Enter your name please: ')
 while name != str:
     name = input('Please enter only letters for your name: ')
 ss = input('Enter your Social Security Number: ')
 while ss != int:
     ss = input('Please enter only numbers for your social security number:')

名字!=str不会做你认为它会做的事情。输入的结果总是一个字符串。如果您只想获得某些类型的字符串,那么您必须自己验证它们。用于检查某物是否仅包含字母或仅包含可使用和的数字

如果您需要比这些或其他内置字符串方法提供的内容更复杂的内容,则可能需要编写正则表达式或其他自定义验证代码。

name!=str不会做你认为它会做的事情。输入的结果总是一个字符串。如果您只想获得某些类型的字符串,那么您必须自己验证它们。用于检查某物是否仅包含字母或仅包含可使用和的数字

如果您需要比这些或其他内置字符串方法提供的更复杂的内容,则可能需要编写正则表达式或其他自定义验证代码。

可能重复的
name = input('Enter your name please: ')
while not name.isalpha():
    name = input('Please enter only letters for your name: ')

ss = input('Enter your Social Security Number: ')
while not ss.isnumeric():
    ss = input('Please enter only numbers for your social security number:')