繁体   English   中英

为什么 While 循环继续以及如何根据输入的数字计算平均值?

[英]Why the While loop continues and how to calculate the average based on numbers input?

嗨,我正在尝试解决这个编码作业:

编写一个程序,总是要求用户输入一个数字。 当用户输入负数 -1 时,程序应该停止请求用户输入数字。 然后程序必须计算除 -1 之外的输入数字的平均值。

我定义 while 循环以确保它不断询问,如:

while n != -1
 str(input("enter your number:"))

但是每当我尝试输入 -1 时,它都会继续要求输入数字。 另外,我不确定什么是定义不包括 -1 的平均值的最佳方法,在这个作业之前的课程都没有谈到这个。 我用谷歌搜索过,但没有一个例子符合这个特定的任务,即使四处摸索也无济于事。

谢谢您的帮助:)

大概n是用户输入,但您永远不会为n分配值。 你是故意的吗?

n = str(input("enter your number:"))

另外,您将n-1进行比较,但您的输入不是数字; 这是一个字符串。 您可以通过n = int(input(...))将输入转换为数字,或将输入与字符串进行比较: while n != '-1'

谢谢大家,这是具有正确值的最终代码,可以给出用户输入的平均值

n = float(input("What number?"))
if n != -1:
    sum = 0
    nums_len = 0
    while n != -1:
        sum += n
        nums_len += 1
        n = float(input("What number?"))
print("The average is", float(sum/nums_len))

您可以要求一个数字,如果它不等于 -1,则进入 while 循环。 所以代码是:

n = int(input("What number?"))
if n != -1:
    sum += n
    nums_len = 1
    while n != -1:
        sum += 1
        nums_len += 1
        n = int(input("What number?"))
print("The average is", sum/nums_len)

好的,这是我到目前为止的代码:


n = float(input("Enter number"))
sum = 0
while n != -1:
  n = float(input("Enter number"))
  sum = sum + n
else:
  average = sum / n
print("The average is", average)

但是平均值不正确? 另外,如何不将 -1 包含在平均值中?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM