【Python】第8次作业:基本统计值计算,数据去重 Data De-duplication,利用字典统计字符个数
1、基本统计值计算
题目:要求从键盘输入若干个数字,利用函数是实现求个数、总和、平均值、方差和中位值的计算。
from math import sqrt
print("请输入数字(Enter确认/两次Enter退出),且至少需要输入两个数字。")
def getNum():
nums = []
iNumStr = input()
while iNumStr != "":
nums.append(eval(iNumStr))
iNumStr = input()
return nums
def count(numbers):
l = len(numbers)
return l
def summation(numbers):
s = 0.0
for num in numbers:
s = s + num
return s
def mean(numbers):
s = 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/(len(numbers)-1))
def median(numbers):
sorted(numbers)
size = len(numbers)
if size % 2 ==0:
med = (numbers[size//2-1] + numbers[size//2])/2
else:
med = numbers[size//2]
return med
n = getNum()
m = mean(n)
z = summation(n)
print("个数:{}, 和:{}, 平均值:{}, 方差:{:.2}, 中位数:{}.".format(count(n),z,m,dev(n,m),median(n)))
2、 数据去重 Data De-duplication
题目:要求利用集合数据类型没有重复的特性,实现对两个列表的数据去重。考虑生成两个列表list1和list2,其中list1为1到20的整数,list2为-20到20的偶数。
list1=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
list2=[-20,-18,-16,-14,-12,-10,-8,-6,-4,-2,0,2,4,6,8,10,12,14,16,18]
a=list1+list2
list3=list(set(a))
print(list3)
3、利用字典统计字符个数
题目:
1)编写程序,用户输入一个字符串,以回车结束,利用字典统计其中字母和数字出现的次数(回车符代表结束)。
2)输入格式是一个以回车结束的字符串,例如输入abc1ab,输出{‘a’: 2, ‘b’: 2, ‘c’: 1, ‘1’: 1}。
3)输入代码并提交解答。注意:提交代码时请删除input()函数中的参数,否则会出现错误。
str=str(input())
resoult={}
for i in str:
resoult[i]=str.count(i)
print(resoult)