嗨,我非常喜欢编程,当我开始绘制空白时正在进行第6次任务我觉得你很简单,但我无法弄清楚如何继续并希望得到一些建议 显示正确的代码将是很酷的,但我真的很感激与它一起反馈更多然后该做什么,如果是这样我哪里出错了 下面是我应该做的。
编写一个程序,不断读取用户的正数。 程序只应在用户输入负值时退出。一旦 用户输入负值,程序应打印所有的平均值 输入的数字。
我遇到的问题是记得好用户输入的数字55(商店55)用户输入10(商店10)用户输入5(商店5)好的用户输入-2结束程序并计算。问题是它不记得所有以前的条目它唯一记住最后一个输入(我猜我的代码告诉它做什么)所以我如何编码它以便它记住所有以前的条目
这是我到目前为止的代码
number = 1
while ( number > 0):
number = int(input("enter a number. put in a negative number to end"))
if number > 0 :
print (number)
else:
print (number) # these are just place holders
答案 0 :(得分:0)
如果您真的想记住以前的所有条目,可以将它们添加到列表中,如下所示:
# before the loop
myList = []
# in the loop
myList = int(input("enter a number. put in a negative number to end"))
然后,你可以通过迭代列表并除以列表的长度来轻松计算数字的平均值(我会让你自己自己尝试分配)。
或者,如果你想保存(一点点)内存,你可以每次将它们添加到一个变量中,并为计数保留另一个变量。
答案 1 :(得分:0)
您可以使用简单列表来跟踪用户插入的数字。然后可以处理该列表以便计算在读取每个数字时的平均值...
# This is a simple list. In this list we store every entry that
# was inserted by the user.
numbers = []
number = 1
while ( number > 0):
number = int(input("enter a number. put in a negative number to end "))
if number > 0 :
print (number)
# save the number for later usage.
numbers.append(number)
# calculate average
if len(numbers) == 0:
print("You have not inputted anything. I need at least one value in order to calculate the average!")
else:
print("The average of your numbers is: %s" % (sum(numbers) / len(numbers)))
答案 2 :(得分:0)
您需要的是一个可以存储多个值的列表。它通常用于循环来插入/获取它的值。
例如,
b=[2,2,2,2,2]
你得到的是一个数字列表,如[4,10,17],按升序排列,因为append()会将数字添加到列表的后面。要从列表中获取个别数字:
number = 1
numbers = []
while ( number > 0):
number = int(input("enter a number. put in a negative number to end"))
if number > 0 :
numbers.append(number)
print (numbers)
请注意,括号内的索引从0开始,因此例如,您有一个包含[4,10,17]的列表。您应该使用以下3来获取它们:
numbers[0]
甚至更好,有一个循环。
numbers[0]
numbers[1]
numbers[2]