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

Check if a character is inside a string via a variable in Python?

本问题已经有最佳答案,请猛点这里访问。

我是Python的新手。我正在编写一个程序,从用户那里获取输入,并检查字符串中是否有任何数字。我用一个变量来检查它。通过变量检查是否不正确?

1
2
3
4
5
6
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")

输出:

1
2
Enter the Word:helo2
helo2


看看你的for循环。你在循环一个元组(0,9)。所以实际上您只是在测试09。用range(10)代替。

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

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


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

1
2
3
4
5
6
7
>>> user_string = 'helo2'
>>> any(i.isdigit() for i in user_string)
True

>>> user_string = 'hello'
>>> any(i.isdigit() for i in user_string)
False