[英]Python Printing 3 values inside a dictionary
我認為我的長代碼對這個問題不是必需的,但是我有一個程序可以為我提供所有輸入數字,所有輸入正數字和所有非正數字的平均值。
# 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':(正浮點數,'AvgNonPos':(非正數浮點數),'AvgAllNum':(全數浮點數)}
是否有某種函數可以讓我取三個值,將它們分配給這三個鍵並像這樣顯示它們?
謝謝!
print({'AvgPositive': posNumAvg,
'AvgNonPos': nonPosNumAvg,
'AvgAllNum': allNumAvg})
不過,我不知道為什么要在字典中打印輸出。 您將無法控制鍵值對的出現順序,並且不是最易讀的格式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.