2017-09-19 287 views
-6

問題: 山姆是一位老師。他想給他的學生提問。他做了12行數字(輸入)。然後計算該數字:平均數(中位數),中位數,四分位數1和四分位數3. 制定計劃以幫助山姆。所以,山姆可以很容易地得到答案。 注:對於平均數,中位數,四分位數1和四分位數的公式3. 規則:1.輸入的數字是一個整數,而不是實數。 2.輸出結果都是有兩位小數的實數。 3.從最小到最大輸入的數字可能相同。 4.不應該使用分支,數組或循環。 5.列出程序(代碼程序)。用Python計算中位數和四分位數

number1= int(input("input point angka1 : ")) 
number2 = int(input("input point number2 : ")) 
number3 = int(input("input point number3 : ")) 
number4 = int(input("input point number4 : ")) 
number5 = int(input("input point number5 : ")) 
number6 = int(input("input point number6 : ")) 
number7 = int(input("input point number7 : ")) 
number8 = int(input("input point number8 : ")) 
number9 = int(input("input point number9 : ")) 
number10 = int(input("input point number10 : ")) 
number11 = int(input("input point number11 : ")) 
number12 = int(input("input point number12 : ")) 
mean = number1+number2+number3+number4+number5+number6+number7+number8+number9+number10+number11+number12+/12 

我不知道如何計算四分位數和中位數

+6

這是一個很好的故事,你與我們分享。請告訴山姆,如果他在途中遇到任何麻煩,請提出自己的想法並再次發帖! – offeltoffel

+0

你有任何的代碼? – PrestonM

+2

如果你必須在沒有電腦的情況下解決這個問題,你會怎麼做? –

回答

1

這將是相當困難做(或只是需要大量的不必要的代碼),而不使用數組...以下是如果陣列和numpy的解決方案被允許:

注:I =號碼用戶的數目被輸入

import numpy as np 
from statistics import median 
def calculateStuff4Sam(i): 
    numbers = [] 
    res = {} 
    for _ in range(1, i+1): 
     numbers.append(int(input("input point number" + i + ": "))) 
    numbers = np.array(numbers) 
    res['mean'] = "{0:.2f}".format(np.mean(numbers)) 
    res['median'] = "{0:.2f}".format(np.median(numbers)) 
    res['25 percentile'] = "{0:.2f}".format(np.percentile(numbers, 25)) 
    res['50 percentile'] = "{0:.2f}".format(np.percentile(numbers, 50)) 
    res['75 percentile'] = "{0:.2f}".format(np.percentile(numbers, 75)) 
    return res 

結果示於字典()返回的格式。如果只想打印平均值:

results = calculateStuff4Sam(12) 
print(results['mean']) 

您還可以遍歷結果的關鍵字,例如, '中值','25百分點',打印出所有計算值。