首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python代码转换

python代码转换
EN

Stack Overflow用户
提问于 2014-04-04 00:40:21
回答 2查看 55关注 0票数 0

我正试图通过数组从txt文件中获取平均值和总数。我要显示txt文件,但由于某些原因,我无法将字符串转换为int。我可以得到要转换为int的行值,而不是数字数组。我不断收到错误,说参数必须是字符串或数字,而不是列表。我将代码设置为no的方式是,它只是不断地添加第一个数字,而不是之后的下一个数字。我对编程相当陌生,这个程序看起来很简单,但我无法理解这一部分。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-04 00:57:57

您的代码有很多改进。你甚至可以用一行来做这件事,但我认为这会更清楚:

代码语言:javascript
复制
total = 0.0
counter = 0
for line in open('numbers.dat', 'r'):
    total += int(line)
    counter += 1
print 'Total', total
print 'Average', total/counter

因此,由于一个文件是可迭代,所以可以使用for in迭代它。其余的代码是显而易见的。

票数 0
EN

Stack Overflow用户

发布于 2014-04-04 15:18:40

我认为enrmarc在正确的轨道上,但是通过使用with语句和枚举来计数条目,代码可能会更加Pythonic。

代码语言:javascript
复制
with open("numbers.dat") as f:
    total = 0

    for counter, line in enumerate(f):
        total += int(line)

    counter += 1
    print "Total", counter
    print "Average", float(total) / counter
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22851519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档