【发布时间】:2020-08-08 15:45:58
【问题描述】:
我不知道我是否要以正确的方式获取floatvalues,但这就是我目前所拥有的。
grades_file = open('grades.txt', 'r')
# Print Header & spacer
print('Name' + '\t\tGrade')
print('---------------------')
# Read lines & store grades
for file_lines in grades_file:
lines = file_lines.rstrip('\n')
num_list = re.findall(r"[-+]?\d*\.\d+|\d+", lines)
grades = [float(num) for num in num_list]
average = statistics.mean(grades)
print(lines)
print(average)
现在我试图让它打印文件中的内容并分别打印数字的平均值,但这就是我得到的。
Output:
Name Grade
---------------------
Mickey,Mouse 90.0
90.0
Jane,Doe 50.0
50.0
Minnie,Mouse 95.0
95.0
Donald,Duck 80.0
80.0
Daffy,Duck 70.0
70.0
我在这里做错了什么?
编辑:
num_list的内容:
['90.0']
['50.0']
['95.0']
['80.0']
当我尝试仅打印 num_list 时,它显示的结果类似于打印平均值。
输入文件的内容:
Mickey,Mouse 90.0
Jane,Doe 50.0
Minnie,Mouse 95.0
Donald,Duck 80.0
Daffy,Duck 70.0
【问题讨论】:
-
可以打印num_list的内容吗?假设 num_list 包含数字列表,您的代码应该可以正常工作。有一个示例输入文件也会很有帮助。
-
编辑添加文件和num_list的内容
标签: python python-3.x floating-point