验证特定数据类型PYTHON

时间:2018-03-25 07:53:17

标签: python

我正在尝试验证用户输入以检查它是否是字符串或数字。如果它是一个数字,我想说'请输入字母' 这是我试过的代码

transport

1 个答案:

答案 0 :(得分:1)

在Python3中,input()函数始终返回一个字符串,即使该字符串完全由数字组成,它仍然将其作为字符串返回,例如:"123"

因此,尝试在将其转换为字符串时捕获错误将永远不会起作用,因为它始终是一个字符串!

执行此操作的正确方法是使用.isdigit()检查它是否为整数。

while True:
    member = input('Are you a child or adult member? ');
    if member.isdigit():
        print('Please input letters')
    else:
        break

但是,如果您想要正确验证,则不应允许用户输入任何字符串,您应将其限制为"child""adult"

while True:
    member = input('Are you a child or adult member? ');
    if member not in ('child', 'adult'):
        print('Please enter a valid entry.')
    else:
        break