蜗牛日记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,其中包含了含有重复的人名,请直接输出出现最多的人名。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

words = s.split()
counts = {}#构建字典
for word in words:#将列表值赋值给字典counts[word] = counts.get(word,0)+1
items = list(counts.items())#字典转化为列表,利用列表的sort函数排序
items.sort(key = lambda x:x[1],reverse=True)#以键值对的值进行排序,并按照由大到小的顺序排列
word,count = items[0]#索引出需要输出的键值对
print('{}'.format(word))

以下是单选,基本课堂都有讲,好像第8题是新知识点,
创建字典时,如果相同键对应不同值,字典采用最后(最新)一个"键值对"。
1
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬#0032003700360038003600351585299681050关于大括号{},以下描述正确的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬
A直接使用{}将生成一个列表类型
B直接使用{}将生成一个集合类型
C直接使用{}将生成一个元组类型
D直接使用{}将生成一个字典类型
正确答案 D
集合类型和字典类型最外侧都用{}表示,不同在于,集合类型元素是普通元素,字典类型元素是键值对。

字典在程序设计中非常常用,因此,直接采用{}默认生成一个空字典。

2
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬#0032003700360038003600351585299681052给定字典d,哪个选项对d.values()的描述是正确的?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬
A返回一个集合类型,包括字典d中所有值
B返回一个元组类型,包括字典d中所有值
C返回一个列表类型,包括字典d中所有值
D返回一种dict_values类型,包括字典d中所有值
正确答案 D
运行如下代码:(其中d是一个预定义的字典)

d={“a”:1, “b”:2}
type(d.values())
输出结果是:<class ‘dict_values’>

d.values()返回的是dict_values类型,这个类型通常与for…in组合使用。

3
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬#0032003700360038003600351585299681054序列s,哪个选项对s.index(x)的描述是正确的?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬
A返回序列s中元素x第一次出现的序号
B返回序列s中序号为x的元素
C返回序列s中x的长度
D返回序列s中元素x所有出现位置的序号
正确答案 A
注意:s.index(x)返回第一次出现x的序号,并不返回全部序号。

4
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬#0032003700360038003600351585299681055关于Python组合数据类型,以下描述错误的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬
APython的字符串、元组和列表类型都属于序列类型
B组合数据类型可以分为3类:序列类型、集合类型和映射类型
C序列类型是二维元素向量,元素之间存在先后关系,通过序号访问
D组合数据类型能够将多个相同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序、更容易
正确答案 C
序列类型总体上可以看成一维向量,如果其元素都是序列,则可被当作二维向量。

5
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬#0032003700360038003600351585299681056关于Python的元组类型,以下选项错误的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬
A元组一旦创建就不能被修改
B元组采用逗号和圆括号(可选)来表示
C元组中元素必须是相同类型
D一个元组可以作为另一个元组的元素,可以采用多级索引获取信息
正确答案 C
序列类型(元组、列表)中元素都可以是不同类型。

6
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬#0032003700360038003600351585299681057以下不是Python序列类型的是:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬
A元组类型
B数组类型
C列表类型
D字符串类型
正确答案 B
Python内置数据类型中没有数组类型。

7
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬#0032003700360038003600351585299681057列表ls,哪个选项对ls.append(x)的描述是正确的?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬
A向ls中增加元素,如果x是一个列表,则可以同时增加多个元素
B向列表ls最前面增加一个元素x
C只能向列表ls最后增加一个元素x
D替换列表ls最后一个元素为x
正确答案 C
ls.append(x),如果x是一个列表,则该列表作为一个元素增加的ls中。

8
1 分
#0032003700360038003600351585299681058
哪个选项是下面代码的输出结果?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

d= {‘a’: 1, ‘b’: 2, ‘b’: ‘3’}
print(d[‘b’])
A2

B1

C3

D{‘b’:2}
正确答案 C
创建字典时,如果相同键对应不同值,字典采用最后(最新)一个"键值对"。

9
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬#0032003700360038003600351585299681059S和T是两个集合,哪个选项对S^T的描述是正确的?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬
A. S和T的补运算,包括集合S和T中的非相同元素
B. S和T的并运算,包括在集合S和T中的所有元素
C. S和T的差运算,包括在集合S但不在T中的元素
D. S和T的交运算,包括同时在集合S和T中的元素
正确答案 A
集合"交并差补"四种运算分别对应的运算符是:& | - ^

10
1 分
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬#0032003700360038003600351585299681062给定字典d,哪个选项对x in d的描述是正确的?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬
A判断x是否是字典d中的值
B判断x是否是字典d中的键
C判断x是否是在字典d中以键或值方式存在
D. x是一个二元元组,判断x是否是字典d中的键值对
正确答案 B
键是值的序号,也是字典中值的索引方式。

因此,x in d 中的x被当作d中的序号进行判断。

Python课第6周:数字最多数之和、人名最多数统计和单选题相关推荐

  1. python自动填写问卷代码_python 30行代码自动填写问卷(单选题和多选题)

    运行代码的条件 谷歌浏览器 下载好你的谷歌浏览器对应版本的chromedriver.exe解压到你的python.exe目录下 python3版本(我用的是3.7) 在python中安装好seleni ...

  2. Python零基础先修课第五周

    Python零基础先修课第五周 笔记 作业 笔记 组合类型 文件 -存储在外部介质上的数据或信息集合 -有序的数据序列 文本显示 -计算机显示功能的基本问题 编码 -信息从一种形式或格式转换为另一种形 ...

  3. Python零基础先修课第六周两个单元

    Python零基础先修课第六周两个单元 笔记 第一单元 第二单元 课后练习 第一单元 第二单元 笔记 第一单元 计算生态 计算思维 -抽象.自动化 -实证思维.逻辑思维.计算思维 计算机模拟:模拟现实 ...

  4. Python课程第六周笔记及作业练习

    Python第六周 笔记 作业 练习 笔记 组合数据类型 三种基本数据类型: (1) 集合类型 (2) 序列类型:元组类型和列表类型 (3) 字典类型 集合类型及操作 (1) 集合类型定义 集合是多个 ...

  5. Python课 #06号作业

    为了记录我的Python课,将我的作业发上来,欢迎各位大佬评鉴.如果你有什么更好的想法,请在下方评论或联系我.谢谢! 作业一:苹果.李子.橙 描述 1只苹果4元,1只橙子3元,4只李子1元,给你n元( ...

  6. 对Python课的看法

    学习Python已经有两周的时间了,我是计算机专业的学生,我抱着可以多了解一种语言的想法报了Python的选修课,从第一次听肖老师的课开始,我便感受到一种好久没有感受到的课堂氛围,感觉十分舒服,不再是 ...

  7. Python语言程序设计 第一周习题

    Python语言程序设计 第一周习题 习题1 获得用户输入的一个整数,参考该整数值,打印输出"Hello World",要求:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮ ...

  8. Python课设实验 之 公交查询系统.(文本导入 字典树 储存.)

    要求: 目录 要求: 第1题  编写一个公交查询系统 随着公交系统的庞大,人们很难得到准确的公交信息,这样给人们的出行就带来了不便.因此,急需一个方便.快捷的公交信息查询方式,本系统提供换乘询功能.路 ...

  9. python学习日记(第一周)

    python学习日记(第一周) 前言: 无论出于什么目的,学个程序语言吧.之前学过一点点基础语法,然后就搁置了两年,日记仅作为个人记录,有问题还望不吝赐教 其实这玩意儿应该每次学一部分记录一部分的,好 ...

最新文章

  1. 【百度地图API】北京周边7日游——图标按路线轨迹行动
  2. Spark源码学习之IDEA源码阅读环境搭建
  3. css3-2 CSS3选择器和文本字体样式
  4. 前端学习(3109):react-hello-开发者工具
  5. C# 从Excel中读取时间数据
  6. 在Python3中将字符串转换为字节的最佳方法
  7. ROS入门-12.服务端Server的编程实现
  8. 减少文件间的编译依赖
  9. C# 生成word文件 小学一年级口算题生成器(代码)
  10. 计算机应用选购哪些电脑,购买电脑有哪些要注意的
  11. WebSphere 环境搭建
  12. java中构造函数-静态代码块-代码块的执行顺序
  13. 最易懂得 鸿蒙 实战 - 真机调试 原子服务
  14. 【SQL Server】列转行 STUFF 函数
  15. 【转】微信公众号h5网页被嵌入广告 不知道什么原因
  16. postgresql数据库字节流类型详解
  17. leetcode 974 Subarray Sums Divisible by K
  18. 华为模拟器ensp安装
  19. 磁盘磁带光盘是计算机系统中,磁盘、磁带和光盘是计算机系统中最常用的( )。...
  20. 工业超高频读写器|读取器CK-UR12-E02使用POE交换机和博途软件如何与西门子PLC配置解决方案

热门文章

  1. 多伦多大学utm计算机科学,2020年加拿大留学各大学学费一览(最新)
  2. openGauss数据库开发指导手册(上)
  3. ECC算法推荐参数(256k1和256r1)
  4. MCGS通道地址填写注意点--模拟量转数字量--触摸屏环境升级
  5. 计算机设置和美化表格优质课,信息技术教案第三节:Excel工作表的编辑与美化.doc...
  6. 帆软单点登录_FineReport和泛微OA(Ecology)的单点登录集成方案
  7. 小脑的语言、工作记忆、社会和情绪处理的三重表征
  8. openfire消息回执插件开发业务处理流程
  9. c语言--线索二叉树
  10. 部署kubernetes集群