我得到一個字串,loop_str="a1B2c4D4e6f1g0h2I3"并且必須撰寫一個代碼,將“loop_str”中包含的所有數字相加,然后在最后列印出總和。預計總和將保存在名為“total”的變數下。我上面寫的代碼雖然得到了正確的答案,但我在為這個特定任務定義總和創建一個 for 回圈而苦苦掙扎。
sum_digits = [int(x) for x in loop_str.split() if x.isdigit()]
total=sum_digits
print("List:", total, "=", sum(total))
uj5u.com熱心網友回復:
我對您的代碼進行了一些編輯,結果如下:
loop_str="a1B2c4D4e6f1g0h2I3"
sum_digits = [int(x) for x in loop_str if x.isnumeric()]
total = sum(sum_digits)
print(total)
輸出
23
請注意,無需更改.isdigit()為.isnumeric()
uj5u.com熱心網友回復:
您可以像這樣提取所有整數:
import re
total = sum([ int(i) for i in re.findall('(\d )', 'a1B2c4D4e6f1g0h2I364564')])
print(a)
輸出:
364584
您應該使用正則運算式從上面的文本中提取整數,然后將它們全部加到串列中。
如果你只想要數字,你可以 像這樣從正則運算式中洗掉:
import re
total = sum([ int(i) for i in re.findall('(\d)', 'a1B2c4D4e6f1g0h2I364564')])
print(a)
輸出:
48
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/424722.html
