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'이 사전에 표시 될 수 있어야합니다. :
세 가지 값을 가져 와서 세 개의 키에 할당하고 그런 식으로 표시 할 수있는 함수가 있습니까?
감사합니다.
고마워, 나는 실제로 하하를 기다리는 동안 그것을 알아 냈다. 그래, 가장 실용적인 방법처럼 보이지는 않지만 내가해야 할 일이다. – user3344446