5 回答
TA贡献1802条经验 获得超5个赞
你永远不会将你的字符串拆分成单词,所以外循环没有意义。
您正在遍历字符,这些字符是长度为 1 的字符串。长度为 1 的字符串的类型永远不会等于
int。你可以使用
str.isdigit方法。
用一个循环重写代码:
for c in string: if c.isdigit(): print(c)
作为单线:
print('\n'.join(c for c in string if c.isdigit()))TA贡献2065条经验 获得超14个赞
我认为isdigit()可以工作,你也可以使用正则表达式。 https://www.w3schools.com/python/ref_string_isdigit.asp
TA贡献1811条经验 获得超5个赞
这可以使用正则表达式来完成,您可以re在 Python 中导入模块以使用正则表达式:
import re
sentences = "th3is i1s anot4her ra2ndom strin5g"
num = re.findall("[0-9]", sentences)
print(num)
基本上,此代码将返回该字符串中的所有数值
TA贡献1850条经验 获得超11个赞
别担心.. 今天的每个高级程序员都曾经是初学者,因此会有所有明显的基本问题:)。
您可以使用 str.isnumeric() 布尔检查。通过使用它,您可以避免第二个 for 循环,因为第二个 for 循环在这里实际上没有意义。
这是修改后的代码-
string = "th3is i1s anot4her ra2ndom strin5g"
for char in string:
if char.isnumeric():
print(char)
TA贡献1712条经验 获得超3个赞
type但是,如果您输入
type(<some variable>)
进入解释器,你总是会得到类似于变量类型的"<class '<type'>" 形式的输出。<type>您可以实际使用此代码(这是一个示例,因此请根据您的目的修改它):
myvar = "some python string"
if type(myvar) == "<class 'str'>":
# true
print("Is a string")
现在你可以想象,这个程序会输出
>>> Its a string
str您可以通过将块的一部分更改"<class 'str'>"为您要查找的类型(例如:"<class 'int'>"整数)来使其适用于任何类型。
希望这可以帮助!
添加回答
举报
