我发现的大多数问题都偏向于这样一个事实:他们在寻找数字中的字母,而我在寻找我想成为数不清的字符串中的数字.

如果所有字符都是数字,则函数isdigit()仅返回True.我只想看看用户是否输入了一个数字,比如"I own 1 dog"之类的句子.

有什么想法吗?

推荐答案

你可以使用any函数和str.isdigit函数,就像这样

>>> def has_numbers(inputString):
...     return any(char.isdigit() for char in inputString)
... 
>>> has_numbers("I own 1 dog")
True
>>> has_numbers("I own no dog")
False

或者,您也可以使用正则表达式,如下所示

>>> import re
>>> def has_numbers(inputString):
...     return bool(re.search(r'\d', inputString))
... 
>>> has_numbers("I own 1 dog")
True
>>> has_numbers("I own no dog")
False

Python相关问答推荐

使用其他爬取信息的scrapy图像管道文件名

二分搜索:没有得到非常大的值的上限和下限

如何将 5 个数字映射到 5 种不同的 colored颜色

带有Pandas 的ValueError应用函数返回可变形状的输出

查看单词是否为等值线的功能

Pandas Mapping:基于树形结构添加后缀

Python pandas:来自 get_dummies 的动态连接

从嵌套 for 循环到字典理解?

Pandas 将功能应用于具有滑动窗口的多列

想要在 Python 中通过在 Excel 中使用 TINV 获得相同的结果

Python根据字符串条件生成新列

如何返回包含多个数据框的列名的数据框

在 Pandas 给定条件下,获取另一列的平均值

如何为txt文件中的每2行创建一个csv行

用“真”找到最近的索引并计算距离(Pandas )

关于在 vs 代码中为 python 添加一个片段

Pandas 为每个唯一 ID 选择较高的值

使用列表在每个月内添加适当的天数

在 Pandas 中转置列和排名值

Kivy:在启动时将圆圈画到屏幕中间