Python检查输入中是否有数字?

时间:2015-07-01 09:35:09

标签: python string input numbers python-3.4

我试图看看我是如何看到一个数字是否在用户输入中。我尝试使用.isdigit(),但只有它只是一个数字才有效。我试图将其添加到密码检查器。我也试过.isalpha()但没有用。我做错了什么,我需要添加或更改什么?

这是我的

   password = input('Please type a password ')
   str = password
   if str.isdigit() == True:

    print('password has a number and letters!')
    else:
            print('You must include a number!')`

2 个答案:

答案 0 :(得分:5)

您可以在any函数中使用生成器表达式和isdigit()

if any(i.isdigit() for i in password) :
       #do stuff

使用any的优点是它不会遍历整个字符串,如果第一次找到一个数字,它将返回一个bool值!

等于休假功能:

def any(iterable):
    for element in iterable:
        if element:
            return True
    return False

答案 1 :(得分:2)

您可以尝试re.search

if re.search(r'\d', password):
     print("Digit Found")

并且不要使用内置数据类型作为可变名称。