输入整数列表,求平均数、方差和中位数。
from math import sqrt
#获取整数序列的函数
def get_num():
numbers = []
input_num_str = input('请输入整数(输入空值表示输入终止):')
while input_num_str != "":
try:
input_num = eval(input_num_str)
if not isinstance(input_num, int):
print("输入的数据不是整数,请重新输入。")
input_num_str = input('请输入整数(输入空值表示输入终止):')
else:
numbers.append(input_num)
input_num_str = input('请输入整数(输入空值表示输入终止):')
except:
print("输入的数据不是整数,请重新输入。")
input_num_str = input('请输入整数(输入空值表示输入终止):')
return numbers
#求平均数
def mean(numbers):
s = 0.0
for num in numbers:
s = s + num
return s / len(numbers)
#求方差
def dev(numbers, mean):
sdev = 0.0
for num in numbers:
sdev = sdev + (num - mean)**2
return sqrt(sdev)
#求中位数
def median(numbers):
new_numbers = sorted(numbers)
n = len(new_numbers)
if n % 2 == 0:
return (new_numbers[n // 2 - 1] + new_numbers[n // 2]) / 2
else:
return new_numbers[n // 2]
nums = get_num()
m = mean(nums)
d = dev(nums, m)
medi = median(nums)
print("平均值为:{},方差为:{:.2},中位数为:{}".format(m, d, medi))
请输入整数(输入空值表示输入终止):1
请输入整数(输入空值表示输入终止):2
请输入整数(输入空值表示输入终止):3
请输入整数(输入空值表示输入终止):4
请输入整数(输入空值表示输入终止):5
请输入整数(输入空值表示输入终止):
平均值为:3.0,方差为:3.2,中位数为:3
D = {"张三": 88, "李四": 90, "王五": 73, "赵六": 82}
D["钱七"] = 90
D["王五"] = 93
del D["赵六"]
print(D)
{'张三': 88, '李四': 90, '王五': 93, '钱七': 90}
#拆分字符串,默认分隔符为空格,返回一个列表类型。
a = "China is a great country".split()
print(a)
['China', 'is', 'a', 'great', 'country']