python beginner : 使用索引/切片动态修改 python 列表以预形成算术运算符 [duplicate]

python beginner : Dynamically modifying a python list with indexing/slicing to preform arithmetic operators [duplicate]

提问人:shook 提问时间:1/13/2023 最后编辑:shook 更新时间:1/13/2023 访问量:31

问:

我一直在尝试编写代码,这些代码将动态地从列表中获取用户输入并预形成一般算术运算符。为了解决这个问题,我使用了索引和切片,这确实暂时解决了我的问题,但这样做产生了一个新问题。

listgrades= []

num_students = int(input("How many students are you evaluating?"))

def student_info():
    for i in range(0, num_students):
        student_name=input("Enter your name here: ")
        studnet_age=input("Enter your age here: ")
        student_total_grade=int(float(input("What is your total grade")))
        listgrades.append(student_total_grade)

student_info()
grades_sum= (listgrades[0] + listgrades[1] + listgrades[2]) / num_students
print(f"The average of all the student grades is {grades_sum}")

`

我正在尝试将 (listgrades[0] + listgrades[1] + listgrades[2]) 更改为更具可变性、可行性和可扩展性的东西

我试图寻找并找到解决方案或方法来解决这个问题,但我陷入了死胡同,在这一点上我没有想法了。

我认为某种循环可能适用于此,但我不确定。

旁注:我有点研究过numpy,但我不能使用它,因为我的学校实验室计算机不允许默认的python模块库中的任何内容。

python-3.x 列表 循环动态 切片

评论


答:

0赞 Georg3.14159265 1/13/2023 #1

我有一些一般性的建议和一些具体的建议。

对于一般建议,要查看可用的内置方法是使用 python 本身。

在命令行中,键入 python 类型,您将看到列表的可用方法。 通过键入 help 和您感兴趣的类,后跟一个点,而不是方法名称,您可以获得有关任何特定方法的更多详细信息。例如。 您还可以键入以获取所有功能和使用说明的更深入列表。键入以继续到下一个屏幕,并备份屏幕。键入以结束帮助屏幕。 退出 python 类型python3dir(list)help(list.count)help(list)spacebqexit()

更具体地说,我同意循环将是一个更动态的方向,因为您询问在输入中要评估多少学生。

循环浏览列表的一种方法是:

for x in listgrades:
    sum = sum + x

当然,您可以在循环内或类似的循环中执行其他数学运算。据推测,您将在循环之前初始化您的值。

在某些时候,您可能需要计算列表中有多少个成绩。幸运的是,有一个内置的列表方法可以为您提供称为计数的信息。如果你使用 python 的 or .dir(list)help(list)

number_of_grades = listgrades.count

我认为这将为你指明你对代码的思考方向,而不会透露太多关于如何学习的东西,这就是你正在学习的东西。祝你好运!