我想要一个字符串,例如,我想输入“我有2条狗”,并且如果字符串中显示数字,我希望外壳程序返回True
(一个函数可以执行)。
我发现在不使用任何循环且没有任何“ re”或“ string”库的情况下很难编码。
请帮忙吗?
示例:
input: "I own 23 dogs"
output: True
input: "I own one dog"
output: False
答案 0 :(得分:1)
>>> a = "I own 23 dogs"
>>> print(bool([i for i in a if i.isdigit()]))
True
>>> b = "I own some dogs"
>>> print(bool([i for i in b if i.isdigit()]))
False
但是,更好的解决方案是使用any
并使用生成器而不是列表以获得更好的性能(就像@Alderven解决方案一样):
>>> a = "I own 23 dogs"
>>> any(i.isdigit() for i in a)
True
答案 1 :(得分:1)
列表理解可以帮助您:
def is_digit(string):
return any(c.isdigit() for c in string)
print(is_digit("I own 23 dogs"))
print(is_digit("I own one dog"))
输出:
True
False