[英]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.