通过Python中的变量检查字符串中是否有字符?

通过Python中的变量检查字符串中是否有字符?,python,python-3.x,Python,Python 3.x,我是Python的新手。我正在制作一个程序,从用户那里获取输入,并检查字符串中是否有数字。我把它放在一个变量中进行检查。通过变量检查是否不正确 user_string=input("Enter the Word:") print (user_string) for index in (0,9): number=str(index) #Typecasting Int to String if number in user_string: #Check if

我是Python的新手。我正在制作一个程序,从用户那里获取输入,并检查字符串中是否有数字。我把它放在一个变量中进行检查。通过变量检查是否不正确

user_string=input("Enter the Word:")
print (user_string)
for index in (0,9):
    number=str(index)           #Typecasting Int to String 
    if number in user_string:   #Check if Number exist in the string
    print ("yes")
输出:

输入单词:helo2
氦氧

您可以在
any
中的生成器表达式中的每个字符上使用字符串方法
isdigit()
。这将在找到第一个数字字符时短路(如果存在)


看看你的for循环。您正在一个元组上循环
(0,9)
。所以实际上您只测试
0
9
。改用
范围(10)

更优雅的是,要获取字符串中的数字,可以使用集合:

import string
print 'yes' if set(string.digits).intersection(user_string) else 'no'

如果有数字,你想做什么?你是在寻找特定的数字,所有的数字,你想在每次遇到数字时打印“是”吗?丹尼尔正确强调的任何数字都在循环中。对于范围(10)内的数字,它可以完美工作感谢,它可以工作,(y)
import string
print 'yes' if set(string.digits).intersection(user_string) else 'no'