我发现大多数问题都存在偏见,因为他们在数字中寻找字母,而我在我想要的无数字字符串中寻找数字。我需要输入一个字符串并检查它是否包含任何数字,如果它确实拒绝它。
仅当所有字符都是数字时,该函数isdigit()才会返回True。我只想看看用户是否输入了数字,所以像这样的句子”I own 1 dog”或类似的东西。
有任何想法吗?
您可以通过迭代字符串中的每个字符并使用该isdigit()方法检查是否有任何字符是数字来实现这一点。如果任何字符是数字,则可以拒绝该字符串。
isdigit()
这是一个检查字符串是否包含数字的简单函数:
def contains_number(input_string): for char in input_string: if char.isdigit(): return True return False # Examples print(contains_number("I own 1 dog")) # True print(contains_number("I own a dog")) # False
或者,你可以使用任何内置any()函数以及生成器表达式来制作代码
any()
def contains_number(input_string): return any(char.isdigit() for char in input_string) # Examples print(contains_number("I own 1 dog")) # True print(contains_number("I own a dog")) # False
在此函数中:
char.isdigit()
any(char.isdigit() for char in input_string)
True
input_string
False
如果函数返回True,则字符串