从多个输入创建一个列表并平均输出
问题描述:
我想编写一个代码来执行以下操作我希望有人能指出我在正确的方向并向我解释/显示我需要做什么。谢谢!从多个输入创建一个列表并平均输出
样品:
输入号码(-9999至结束):4
输入号码(-9999至结束):-3
输入号码(-9999至端) :-15
输入号码(-9999至结束):0
输入号码(-9999至结束):10
输入号码(-9999至结束):22
输入号码(-9999至结束):-9999
输入的所有数字的列表是:
[4,-3 ,-15,0,10,22]
与平均值的词典是:
{ 'AvgPositive':12.0, 'AvgNonPos':-6.0 'AvgAllNum':3.0}
答
要创建你的lis从输入的整数,做这样的事情:
myList = []
while True:
myInput = raw_input('Please enter a number: ')
if myInput == '-9999':
break
else:
myList.append(int(myInput.strip()))
然后做你需要做的与整数列表。
答
你可以尝试这样的:
my_num = []
while True:
n = input("Enter a number (-9999 to end):")
if n == '-9999':
break # if user enters -9999 it will come out of loop
my_num.append(int(n))
avg = sum(my_num)/len(my_num)
avg_pos = sum([ x for x in my_num if x>=0 ])/len(my_num)
avg_neg = sum([ x for x in my_num if x<0 ])/len(my_num)
现在你可以在字典把这一切都容易
sum
功能让你列表的总和。 len
函数给你列表的长度
如果x> = 0,我正在循环列表中,它将是正数。如果x < 0它将是负数
你到目前为止得到了什么代码? – 2014-11-25 01:09:26
没什么,我似乎无法弄清楚从哪里开始。 – qaguy 2014-11-25 01:14:29