[英]Number values in a list greater than the average
Python:我無法弄清楚如何顯示出現在用戶給定列表中的計算平均值之上的數字列表以及該列表中超過 90 的任何數字。這是我迄今為止一直在做的工作。 平均計算單獨工作正常,這兩個函數的添加我無法解決。
from math import sqrt
def getNumbers():
nums = []
xStr = input("Enter a number (<Enter> to quit) >> ")
while xStr != "":
x = eval(xStr)
nums.append(x)
xStr = input("Enter a number (<Enter> to quit) >> ")
return nums
def mean(nums):
sum = 0.0
for num in nums:
sum = sum + num
return sum / len(nums)
def grt_mean(mean):
grt_mean_ls = nums []
for num in nums:
if num > mean:
grt_mean_ls = nums
nums.append(grt_mean_ls)
def above90(nums):
above_list = nums[]
for num in nums:
if num >90:
above_list = nums
nums.append(above_list)
def display(nums):
print(nums)
def main():
abmean = grt_mean(mean)
ab90 = above(nums)
data = getNumbers()
xbar = mean(data)
display(data)
print("\nThe mean is", xbar)
print("The numbers above 90 are: ab90")
print("the numbers above the average are:")
main()
您可以使用列表理解來檢查每個值與您的平均值
def mean(nums):
if len(nums) == 0:
return 0.0
return sum(nums) / len(nums)
def grt_mean(nums):
m = mean(nums)
return [i for i in nums if i > m]
例如
>>> nums = [1,2,3,4,5,6,7,8,9]
>>> mean(nums)
5.0
>>> grt_mean(nums)
[6, 7, 8, 9]
“90歲以上”的想法相同
def above90(nums):
return [i for i in nums if i > 90]
>>> above90([88, 89, 90, 91, 92, 93])
[91, 92, 93]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.