【问题标题】:How to add digits in output如何在输出中添加数字
【发布时间】:2020-02-26 15:12:05
【问题描述】:

我有一个正在使用 python 读取的文件。在这个文件中,我选择了在输出中显示为列表的某些数字,我想添加这些数字。这是我正在使用的代码:

with open ("C:/xampp/htdocs/Final/uploads/file.dist", 'r') as rf:
    g = [rf.replace(' ', '') for rf in rf]  
k=[]
for e in g[1::47]:
    r=(e[:12])
    s=(r[:2])
    i.append(s)
m= Counter(i)
for letter in m:
    t= m[letter]
    print(t)

这给了我如下输出:

80
80
80
80

我想添加这些数字,以便最终输出为 320 (80+80+80+80)。我尝试过列出方法,导入数学库,但它们都没有给我所需的输出。任何帮助将不胜感激。

【问题讨论】:

  • s += t 内循环 s 初始化为 0 并打印 s 外循环?
  • 您似乎使用 rf 作为 3 个不同对象的同名:文件对象、由推导产生的 list 和推导中的临时 str。它可能有效,但非常令人困惑。
  • @Austin 它只给了 80 1 次。当我尝试在循环之外打印它时,结果是 80,而且只有一次(不是 4 次)。
  • +=,不仅仅是=
  • 是的,我只试过了,s += t

标签: python list file addition


【解决方案1】:

使用 += 而不是 = 将 m[letter] 的值添加到 t:

from collections import Counter
with open ("C:/path/file.dist", 'r') as rf:
    g = [rf.replace(' ', '') for rf in rf]
i=[]
for e in g[1::47]:
    r=(e[:12])
    s=(r[:2])
    i.append(s)

m = Counter(i)
t = 0
for letter in m:
    t += m[letter]
print(t)

【讨论】:

  • TypeError: 只能将str(不是“list”)连接到str
  • @Dustrokes 你能分享文件吗(file.dist)?
  • 我已将超链接添加到文件中,您必须下载该文件,因为它无法预览。
  • @Dustrokes,我编辑了上面的代码。这是你想要做的吗?
  • @Dustrokes,如果这行得通,我敦促您仔细阅读我对您的问题的第一条评论;字面意思是一样的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多