在while循环后如何计算平均值

时间:2019-03-24 22:47:40

标签: python while-loop average

我正在尝试进行编码,这是进入类所要做的作业的一部分。

“编写一个始终要求用户输入数字的程序。当用户输入负数-1时,该程序应停止要求用户输入数字。然后,该程序必须计算输入数字的平均值排除-1。”

我可以执行的while循环...计算就是我遇到的问题。

negative = "-1"
passable = "0"
while not passable <= negative:
  passable = input("Write a number: ")

我只是想让它正常工作,并在可能的情况下提供一个解释

3 个答案:

答案 0 :(得分:0)

您正在为变量分配字符串,我认为这不是您的意图。

这将起作用:

next_input = 0
inputs = []

while True:
    next_input = int(input('Please enter a number:'))
    if next_input == -1:
        break

    else:
        inputs.append(next_input)

return sum(inputs) / len(inputs)

首先,您需要创建一个容器来存储所有输入的值。即inputslist

接下来,您确实需要一个while循环。这是构造它的另一种方法:一个循环将无限期运行,并在其中进行比较以将当前输入与-1比较,并在循环中以break终止循环。否则,它将把该输入追加到已输入的list上。

退出循环后,通过将输入输入中所有值的总和除以包含它们的list的长度(即其中的元素数)来计算平均值。

答案 1 :(得分:0)

我会先使用do-while初始化列表,然后再问用户一个数字。然后,将每个数字添加到该列表中,除非数字== -1。如果是这样,则您对列表中的每个元素求和并输出平均值。

这里的伪代码可以帮助您

my_list = []
do
    input_nb = input("Please enter a number: ")
    if(input_nb != -1)
        my_list.add(input_nb)

while (input_nb != -1)

average = sum(my_list) / len(my_list)

print('My average is ' + average)

答案 2 :(得分:0)

正如此处其他一些答案所指出的,您必须总结所有答案,然后除以您输入的数字。

但是,请记住$output = array_merge($output, $tekrar); 是一个字符串。这意味着我们的input()循环在找到字符串while时必须中断,并且您必须添加数字的'-1'才能将数字相加。

float()