簡體   English   中英

Python在字典中打印3個值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM