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'>"整數)來使其適用于任何類型。
希望這可以幫助!
添加回答
舉報