Python - 2个阵列到2列+随机+平均

时间:2017-11-05 14:22:08

标签: python arrays python-3.x zip multiple-columns

我有2个阵列,一些学校科目和1到5年级的这些科目。我需要从一个数组和4个随机数(成绩)中取4个随机主题到每个主题,并需要创建列:

import random
studentname = input("Write your name - ")
studentage = input("Write your age - ")
courses = ["English", "Mathematics", "Physics", "Chemistry", "Programming", "Biology", "Geography", "History"]
grades = [1, 2, 3, 4, 5]

for line in zip(random.sample(courses,4), random.sample(grades,4), random.sample(grades,4), random.sample(grades,4), random.sample(grades,4)):
    print('{:15} {}  {}  {}  {} - Average = \n'.format(*line))

enter image description here

如何为每个科目添加平均数?

作者注释:

我真的搜索了所有内容,但没有发现任何关闭,我发现使用ZIP()的东西,但我是Python新手,我可以设法创建列,但甚至无法添加任何关于平均值的内容。 / p>

1 个答案:

答案 0 :(得分:1)

在循环中,您可以计算输入元组的平均值(跳过课程名称)。然后将该参数添加到格式中。

for line in zip(random.sample(courses,4),
                random.sample(grades,4),
                random.sample(grades,4),
                random.sample(grades,4), 
                random.sample(grades,4)):

    avg= sum(line[1:])/(len(line)-1)
    print('{:15} {}  {}  {}  {} - Average = \n {}'.format(*line,avg))