Python 如何在用户a';分配变量时创建变量;x';用户选择输入的次数?
我目前正在写一个程序,计算不同学生的平均成绩。如果我想让用户输入他们课程的学分值和分数值的百分比;我是否有可能询问学生目前正在参加的课程,并在每次用户输入新变量的值时将每个值分配给新变量。对于每个新输入,如何在每次创建时将它们添加到等式中? 例如:Python 如何在用户a';分配变量时创建变量;x';用户选择输入的次数?,python,Python,我目前正在写一个程序,计算不同学生的平均成绩。如果我想让用户输入他们课程的学分值和分数值的百分比;我是否有可能询问学生目前正在参加的课程,并在每次用户输入新变量的值时将每个值分配给新变量。对于每个新输入,如何在每次创建时将它们添加到等式中? 例如: def gpa1(): return ((x1*y1)+(x2*y2)+(x3*y3)+(x4*y4)+(x5*y5)+(x6*y6)+(x7*y7)+(x8*y8)+(x9*y9)+(x10*y10))/((y1+y2+y3+y4+y5+y
def gpa1():
return ((x1*y1)+(x2*y2)+(x3*y3)+(x4*y4)+(x5*y5)+(x6*y6)+(x7*y7)+(x8*y8)+(x9*y9)+(x10*y10))/((y1+y2+y3+y4+y5+y6+y7+y8+y9+y10))
如果我总共有10个课程,那么这个等式就是这样的,但是我希望用户可以选择改变他们能够输入的内容,而不是10个。每次用户输入时,都会添加新变量my或删除旧变量my。我怎样才能做到这一切?
我非常感谢任何试图在这方面帮助我的人。这里真正的问题是,您认为您需要n个名称来输入n个用户输入。那根本没有必要 您可以将输入存储在容器(列表、字典、元组等)中,也可以在输入时对其进行处理。例如,您不需要计算
y1+…+y10
收集所有值后,可以初始化变量sum_y=0
并继续添加y
值
一种读取用户输入直到看到sentinel值的最低限度方法如下所示:
>>> inputs = list(iter(input, 'q'))
1
2
3
q
>>> inputs
['1', '2', '3']
如果您想捕获无效的输入,这个问题非常相关
您还应该阅读的答案,以了解为什么您不应该想要您想要的。使用列表存储值,而不是为
n
用户输入创建n
变量。