我发现的大多数问题都偏向于他们在数字中寻找字母的事实,而我正在寻找我希望成为无数字符串的数字。我需要输入一个字符串并检查它是否包含任何数字以及是否拒绝它。
函数 isdigit()
仅返回 True
如果所有字符都是数字。我只是想看看用户是否输入了一个数字,比如 "I own 1 dog"
之类的句子。
有任何想法吗?
原文由 DonnellyOverflow 发布,翻译遵循 CC BY-SA 4.0 许可协议
我发现的大多数问题都偏向于他们在数字中寻找字母的事实,而我正在寻找我希望成为无数字符串的数字。我需要输入一个字符串并检查它是否包含任何数字以及是否拒绝它。
函数 isdigit()
仅返回 True
如果所有字符都是数字。我只是想看看用户是否输入了一个数字,比如 "I own 1 dog"
之类的句子。
有任何想法吗?
原文由 DonnellyOverflow 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以组合使用 any
和 str.isdigit
:
def num_there(s):
return any(i.isdigit() for i in s)
如果字符串中存在数字,该函数将返回 True
,否则返回 False
。
演示:
>>> king = 'I shall have 3 cakes'
>>> num_there(king)
True
>>> servant = 'I do not have any cakes'
>>> num_there(servant)
False
原文由 aIKid 发布,翻译遵循 CC BY-SA 3.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
您可以使用
any
功能,与str.isdigit
功能,像这样或者,您可以使用正则表达式,像这样