Python 读取文本文件中的数字
我是python初学者,学习如何读取和操作文本文件中的数据 假设我有一个文本文件grades.txt: 我想创建一个程序,平均每行的分数,然后乘以权重,权重总是每行的第一个数字 然后,它应该将所有行的加权总数相加,并打印一个最终分数 如果我不知道文本文件中的分数,或者如果我有不同的权重,我该怎么做 目前我只能在我已经知道会有多少个等级的情况下才能这样做 迄今为止的代码:Python 读取文本文件中的数字,python,Python,我是python初学者,学习如何读取和操作文本文件中的数据 假设我有一个文本文件grades.txt: 我想创建一个程序,平均每行的分数,然后乘以权重,权重总是每行的第一个数字 然后,它应该将所有行的加权总数相加,并打印一个最终分数 如果我不知道文本文件中的分数,或者如果我有不同的权重,我该怎么做 目前我只能在我已经知道会有多少个等级的情况下才能这样做 迄今为止的代码: def main(): file = open("grades.txt", "r") for line in
def main():
file = open("grades.txt", "r")
for line in file:
weight, gradeOne, gradeTwo, gradeThree = line.split()
grade = (int(gradeOne) + int(gradeTwo) + int(gradeThree)/3
print(float(weight) * grade)
main()
您可以使用
line.split(“”)
返回权重为list[0]
的等级列表
然后您可以去掉权重,并在for循环中循环遍历列表
将所有等级相加,然后除以等级列表的长度。不要意外地包括重量 您可以使用
line.split(“”)
返回权重为list[0]
的等级列表
然后您可以去掉权重,并在for循环中循环遍历列表
将所有等级相加,然后除以等级列表的长度。不要意外地包括重量 拆分字符串后,使用
map()
将每个项目转换为浮点值。使用*
解包将第一个项目分配给重量
,其余项目分配给名为等级
的列表
def main():
file = open("grades.txt", "r")
for line in file:
weight, *grades = map(float, line.split())
print(weight * sum(grades)/len(grades))
main()
然后,您可以使用方便的函数,如sum()
和len()
来查找平均值map()
,float()
,sum()
,和len()
都是。拆分字符串后,使用map()
将每个项转换为float
。使用*
解包将第一个项目分配给重量
,其余项目分配给名为等级
的列表
def main():
file = open("grades.txt", "r")
for line in file:
weight, *grades = map(float, line.split())
print(weight * sum(grades)/len(grades))
main()
然后,您可以使用方便的函数,如sum()
和len()
来查找平均值map()
,float()
,sum()
,和len()
都是这样。这将在Python 2.7和3.x中工作
def main():
total_grade = 0
with open('grades.txt', 'r') as file:
for line in file:
split = line.split(' ')
grades = map(int, split[1:])
line_grade = (sum(grades) / len(grades)) * float(split[0])
print line_grade
total_grade += line_grade
print total_grade
if __name__ == '__main__':
main()
这将在Python2.7和3.x中工作
def main():
total_grade = 0
with open('grades.txt', 'r') as file:
for line in file:
split = line.split(' ')
grades = map(int, split[1:])
line_grade = (sum(grades) / len(grades)) * float(split[0])
print line_grade
total_grade += line_grade
print total_grade
if __name__ == '__main__':
main()
我会很便宜并且做…=映射(float,line.split())
。我会很便宜,做…=映射(float,line.split())
。