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