Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何计算文本文件中每个人的平均人数_Python_Python 3.x_Function - Fatal编程技术网

Python 如何计算文本文件中每个人的平均人数

Python 如何计算文本文件中每个人的平均人数,python,python-3.x,function,Python,Python 3.x,Function,嗨,我想创建一个代码,读取一个文本文件并打印文件中每个人的平均值,我在文件夹中有这个 boys.txt ed lin,3,1,4,2 thomas block,6,3,3 所以我想打印一些像 ed lin: 2.5 thomas block: 4 但我不知道如何继续,我的代码出现错误请尝试将其他文件更改为: from Functions import read_txt file_txt = input("input file: ") lines read_txt(fi

嗨,我想创建一个代码,读取一个文本文件并打印文件中每个人的平均值,我在文件夹中有这个

boys.txt

ed lin,3,1,4,2
thomas block,6,3,3
所以我想打印一些像

ed lin: 2.5
thomas block: 4

但我不知道如何继续,我的代码出现错误

请尝试将其他文件更改为:

from Functions import read_txt

file_txt = input("input file: ")
lines read_txt(file_txt)

lines = '\n'.join(['%s: %s' % (line.split(',')[0], sum(list(map(int, line.strip().split(',')[1:]))) / len(line.strip().split(',')[1:])) for line in lines])

print(lines)
输出:

ed lin: 2.5
thomas block: 4

我不知道为什么不允许使用格式,但如果不使用格式,它会有点太乏味。。。同时,这里还有另一种方法

with open("boys.txt", "r") as f:
    contents = f.read()

lines = contents.strip().split("\n")

for l in lines:
    boy = l.split(",")
    length = len(boy)
    score = 0
    for i in range(1, length):
         score += int(boy[i])
    average = score / (length-1)
    print("{}: {}".format(boy[0], average))
你也可以使用

from Functions import read_txt

file_txt = input("input file: ")
with open(file_txt, 'r') as f:
  lines = f.readlines()
  for line in lines:
    name = line[0: line.index(',')]
    data = [int(num) for num in (line[line.index(',')+1:].split(','))] 
    nums = len(data)
    data = sum(data)
    print(f"{name}: {data/nums}")

谢谢,有没有别的办法?我不能使用像%或{,}这样的字符串格式,不能在中使用,也不能使用map()或filter(),神学院希望我学习如何在没有它的情况下做到这一点
with open("boys.txt", "r") as f:
    contents = f.read()

lines = contents.strip().split("\n")

for l in lines:
    boy = l.split(",")
    length = len(boy)
    score = 0
    for i in range(1, length):
         score += int(boy[i])
    average = score / (length-1)
    print("{}: {}".format(boy[0], average))
from Functions import read_txt

file_txt = input("input file: ")
with open(file_txt, 'r') as f:
  lines = f.readlines()
  for line in lines:
    name = line[0: line.index(',')]
    data = [int(num) for num in (line[line.index(',')+1:].split(','))] 
    nums = len(data)
    data = sum(data)
    print(f"{name}: {data/nums}")