2014-02-24 2 views
0

이 질문에는 긴 코드가 필요하지 않지만 입력 된 모든 숫자, 입력 된 모든 양수 및 모든 양수가 입력 된 평균을 제공하는 프로그램이 있습니다. .사전에 3 개의 값을 인쇄하는 파이썬

# Receive number inputs from user, turning it into a list. 
def getInput(): 
    numList = [] 
    while True: 
     z = float(input("Enter a number (-9999 to quit): ")) 
     if z == -9999: 
      return numList 
     else: 
      numList.append(z) 



numList = getInput() 

# Splitting the whole list of numbers into positive list, and non positive list. 
def splitPosNonPos(): 
    posList=[] 
    nonPosList=[] 
    for z in numList: 
     if z > 0: 
      posList.append(z) 
     else: 
      nonPosList.append(z) 

    return (posList, nonPosList) 

posList, nonPosList = splitPosNonPos() 
print() 
print("All numbers ", numList) 
print("Positive numbers ", posList) 
print("Non positive numbers ", nonPosList) 

# finding the average of all numbers 
def computeAllAvg(): 
    average = 0 
    sum = 0  
    for n in numList: 
     sum = sum + n 
    average = sum/len(numList) 
    return average 

allNumAvg = computeAllAvg() 


# finding the average of positive numbers 
def computePosAvg(): 
    average = 0 
    sum = 0  
    for n in posList: 
     sum = sum + n 
    average = sum/len(posList) 
    return average 

posNumAvg = computePosAvg() 


# finding average of non positive numbers 
def computeNonPosAvg(): 
    average = 0 
    sum = 0  
    for n in nonPosList: 
     sum = sum + n 
    average = sum/len(nonPosList) 
    return average 

nonPosNumAvg = computeNonPosAvg() 

print("All num average ", allNumAvg) 
print("Pos num average ", posNumAvg) 
print("Non Pos num average ", nonPosNumAvg) 

내 값 allNumAvg, posNumAvg 및 nonPosNumAvg 모두 제가 쉽게 인쇄 할 수있는 수레 반환하지만, 내가 그들을 인쇄 할 방법이 현재 없습니다.

{ 'AvgPositive': (양수 float), 'AvgNonPos': (양수가 아닌 float), 'AvgAllNum'이 사전에 표시 될 수 있어야합니다. :

세 가지 값을 가져 와서 세 개의 키에 할당하고 그런 식으로 표시 할 수있는 함수가 있습니까?

감사합니다.

답변

1
print({'AvgPositive': posNumAvg, 
     'AvgNonPos': nonPosNumAvg, 
     'AvgAllNum': allNumAvg}) 

왜 출력물을 dict에서 인쇄하고 싶은지 알 수 없습니다. 키 - 값 쌍이 발생하는 순서를 제어 할 수 없으며 형식을 가장 잘 읽을 수 없습니다.

+0

고마워, 나는 실제로 하하를 기다리는 동안 그것을 알아 냈다. 그래, 가장 실용적인 방법처럼 보이지는 않지만 내가해야 할 일이다. – user3344446

관련 문제