我试图让这个节目给我的输出看起来像这样:的Python(v3)的麻烦输出
Enter a number (-9999 to end): 4
Enter a number (-9999 to end): -3
Enter a number (-9999 to end): -15
Enter a number (-9999 to end): 0
Enter a number (-9999 to end): 10
Enter a number (-9999 to end): 22
Enter a number (-9999 to end): -9999
The list of all numbers entered is:
[4, -3, -15, 0, 10, 22]
The dictionary with averages is:
{'AvgPositive': 12.0, 'AvgNonPos': -6.0, 'AvgAllNum': 3.0}
这是我到目前为止的代码,但它没有明显的工作。任何帮助表示赞赏,但请在代码中显示。大多是我遇到了麻烦的底线 “与均线的字典是: { 'AvgPositive':12.0, 'AvgNonPos':-6.0, 'AvgAllNum':3.0}”
def nums():
values = []
while -9999 not in values:
x = int(input("Enter a number (-9999 to end:)"))
values.append(x)
values.remove(-9999)
return values
def allNumAvg(values):
average = 0
sum = 0
for n in values:
sum = sum + n
average = sum/len(values)
return average
def avgNonPos(values):
return allNumAvg([v for v in values if v<0])
if int in values < 0:
x.append(int)
print(x)
return average
def posNumAvg(values):
return allNumAvg([v for v in values if v>0])
if int in values > 0:
x.append(int)
print(x)
input(print("'AvgPositive': ",posNumAvg(nums())),"'AvgNonPos': ",avgNonPos(nums())),"'AvgAllNum': ",allNumAvg(nums())
什么结果你好吗? – 2015-02-24 06:00:46
它只是说:'AvgPositive':12.0我如何获得它来打印nonPos和allNum的其他平均值? – PythonNoob 2015-02-24 06:05:30
每次调用'nums()'时,它都会要求你输入一些数字。你在最后一行叫三次。 'print'的返回值是'None',然后传递给'input'函数。我认为你可能会创建一个平均字典,然后打印出来。 – 2015-02-24 06:05:41