我正在尝试制作一个平均成绩系统,但是使用 while 循环,如何从 while 循环中单独获取输出?



这就是我迄今为止提出的:

有没有一种方法可以从while循环中单独获得输出/答案,这样我就可以对它们进行加法和除法运算?或者还有其他方法可以访问它们,比如for循环?我对编码很陌生,所以提前谢谢!

如果您试图存储多个等级,并对它们执行操作,那么列表会有所帮助。您可以定义";等级";作为while循环之前的列表变量。然后在循环之后,您可以使用print((函数来查看列表中的内容。

使用for循环,可以对列表中的每个等级执行操作。为了得到分数的总和,你可以定义一个";sum";变量,并将for循环中的每个等级相加。

根据你所说的,我认为这是一个很好的起点:

EDIT:更改的变量";sum";至";g_ sum";因为sum是一个内置的Python方法。如果尝试使用此方法,使用同名变量可能会带来问题。

unit = 0
grades = [] # this is the list of grades
while unit < 8:
# append will add each grade to the list
grades.append(int(input("Enter Grades: ")))
unit += 1
# printing all values in the list
print(grades)
# we can already get a denominator from the length of the list
denominator = len(grades)
# for loop to get sum of all grades in list
g_sum = 0
for g in grades:
g_sum += g
# now we can get the average
average = g_sum / denominator
# printing sum and average of grades
print(f"Sum of grades: {g_sum}nAverage of grades: {average}")

您能添加更多的细节或有问题的循环的示例吗?看起来你是想在";。。。到目前为止:";?

好的。我稍微理解一点。我还有一分钟就要跑,但是,我会试着给你指明正确的方向。。。

你需要使用一个列表来收集你的分数。例如,在while循环之前:

score_list=[]

而。。。。。。输入级

score_list.append(等级(

在While循环之后。。。

avg_grade=sum(score_list(/len(score-list(

您可以在循环之前创建一个空列表,然后将每个输入的值附加到循环中:

unit = 0
grades = []
while unit < 8: 
grade = int(input("Enter Grades: "))
grades.append(grade)
unit += 1

然后您将能够访问列表中的任何值:

print(grades[0])
def get_average():
count = 0
total = 0
while count < 3:
grade = float(input('Enter grade: '))
count += 1
total += grade
average = total / count
print(average)

最新更新