蜗牛日记20200327
中国大学MOOChttp://www.icourse163.org
《Python语言程序设计》(9期)
2019年07月04日 10:00 - 2019年08月29日 23:30
第六周 组合数据类型
测验
程序设计第1题
题目如下:
数字不同数之和
描述
获得用户输入的一个整数N,输出N中所出现不同数字的和。
例如:用户输入 123123123,其中所出现的不同数字为:1、2、3,这几个数字和为6。
解题思路和知识点:
1、考察集合数据类型最常用的功能——数据去重!!!
2、集合创建。
n = input()
ss = set(n)
s = 0
for i in ss:
s += eval(i)#集合的元素是字符串,运算时需要eval函数
print(s)
以上是参考答案,以下是更麻烦的解法……唯一的亮点在于:不用集合如何数据去重。
Nstr = str(input())
a = ','.join(Nstr)#向字符串增加一个分隔符,
words = a.split(',')#利用增加的分隔符分割字符串……
counts = {}#通过创建字典,返回键的信息,来计算不同数字之和
for word in words:
counts[word] = counts.get(word,0)+1
m = counts.keys()
s = 0
for i in m:
s += eval(i)
print(s)
程序设计第2题(与课堂实例高度相似。。)
人名最多数统计
描述
编程模板中给出了一个字符串s,其中包含了含有重复的人名,请直接输出出现最多的人名。