簡體   English   中英

不明白我的代碼有什么問題?

[英]Not understanding what is wrong with my code?

我編寫了這段代碼,只從文本文件中提取數字,然后計算提取的這些值的總和。 但我得到的答案是 0,實際上應該是 285701。 即使工作了很長時間,我也不明白我做錯了什么,我對剛開始學習的編程不是很有經驗。請幫忙!

 import re fname = open("http://py4e-data.dr-chuck.net/regex_sum_1501185.txt") sum = 0 value = list() for line in fname: line = re.findall("[0-9]+", line) value = value + line for x in value: sum = sum + int(x) print(sum)

您無法使用open()打開網頁網址,您需要使用urllib.request.urlopen()

import urllib.request
import re
fname = urllib.request.urlopen("http://py4e-data.dr-chuck.net/regex_sum_1501185.txt")
data = fname.read().decode()
data = data.split('\n')
sum = 0
value = list()
for line in data:
     nums = re.findall("[0-9]+", line)
     value = value + nums
for x in value:
     sum = sum + int(x)
print(sum)

輸出:

285701

您需要小心使用變量名稱命名變量sum導致您將無法使用內置函數sum()

如果您的代碼看起來像這樣會更好:

import urllib.request
import re
fname = urllib.request.urlopen("http://py4e-data.dr-chuck.net/regex_sum_1501185.txt")
data = fname.read(50000).decode()
data = data.split('\n')
value = list()
for line in data:
     line = re.findall("[0-9]+", line)
     value = value + [int(i) for i in line]
print(sum(value))

文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM