我正在参加在线基础编程课程,但我完全迷失了这项作业。我们的书介绍了基本的循环,但没有介绍如何通过用户输入的值在循环中查找最大值,最小值或平均值。这是我的作业:
编写一个循环控制程序,该程序将提供有关班级成绩的重要统计信息。该程序将利用循环从用户输入中读取五个浮点等级。要求用户输入值,然后打印以下数据:平均最大最小
我的教科书和讲师并未真正指导我如何在循环中使用浮点数。到目前为止,这是我想出的:
for grade in range(5):
int(input("Enter Grade (percentage): "))
if max:
print('Max:')
if min:
print('Min:')
else:
print('Average:')
这使我可以使循环运行5次,但实际上如何计算未知变量的最小值,最大值和平均值?
答案 0 :(得分:0)
我不使用python,但是我知道如何解决这个问题。
对于平均值,声明一个名为sum或诸如此类的变量,并将其设置为0。然后,每次获得输入时,都将该值添加到sum中。输入5次后,将其总和除以5。即为平均值。
要获得最大值,请将变量初始化为0。在输入时,检查该输入是否大于当前存储的最大值。如果是这样,请将变量设置为该输入。输入5次后,该变量将包含最大值。
类似的分钟。但是请确保在开始时将该变量设置为较大的值(例如100000),然后检查新输入的值是否小于该变量。
此外,如果您应该使用浮点数,请不要将用户输入转换为整数。改用float。
答案 1 :(得分:0)
在循环中使用浮点数的方式与在循环外使用浮点数的方式相同。 循环不会改变任何东西。
但是,您似乎误解了任务措辞: 您不应在循环内 打印最小,最大和平均值计算。
这是不可能的,因为您不知道它们,直到用户输入所有5个等级。
您应该在循环内执行的操作分为4个步骤:
从用户那里读取float
。当前,由于某种原因,您正在尝试阅读int
。您知道如何在Python中读取float
吗?
将其加到您将在循环后使用 来计算平均值的总和。
查看它是否是用户到目前为止输入的所有数字中的最大值。
查看它是否是用户到目前为止输入的所有数字中的最小值。
退出循环后,只需打印3个数字: 您找到的最大值和最小值以及平均值计算。
答案 2 :(得分:0)
您首先要列出一个列表, 然后创建一个for循环,该循环将运行5次,range(5)应该起作用。 然后退出循环并运行平均值,最小值和最大值
答案 3 :(得分:-1)
您可以为此任务创建一个简单的函数。您可以执行以下操作:
def take_what(statistic = None):
f = []
for grade in range(5):
f.append(int(input("Enter Grade (percentage): ")))
if statistic == "max":
print('Max: {}'.format(max(f)))
elif statistic == "min":
print('Min: {}'.format(min(f)))
else:
print('Average: {}'.format(sum(f)/len(f)))
print(take_what('max'))
print(take_what('min'))
print(take_what())