python集合例题_python 学到集合为止的17道练习题
print('-------练习1、2-----------')
1、简述变量命名规范。
本题原文:https://blog..net/yirentianran/article/details/79567177
(1)变量名只能包含字母、数字和下划线。变量名可以字母或下划线开头,但不能以数字开头,
例如,可将变量命名为message_1,但不能将其命名为1_message。
(2)变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,
但变量名greeting message会引发错误。
(3)不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print。
(4)变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,
name_length比length_of_persons_name好。
(5)慎用小写字母l和大写字母O,因给他们可能被人错看成数字1和0;
注意:应使用小写的Python变量名。在变量名中使用大写字母虽然不会导致错误,
但避免使用大写字母是个不错的注意。
---------------------
2、默写字符串常用12个功能,并且描述其作用。
print('-------练习3-----------')
3、数字、字符串、元组、列表、字典对应的布尔值为False的分别为什么。
答:(1)数字
0是False,非零为True, 即负数也为True
(2)字符串
空为False, 非空为True, 即空格也为True
(3)元组、列表、字典
() [] {} 为空时为False
print('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
注意:不是直接划等号,看例子就懂了,除了0,1
其他都不能直接划等号,但用在if等判断中是可以的
print('!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!')
print(False == 0)# True
print(True == 1)# True
print(True == -9)# False
print(True == 9) # False
print('$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$')
print(False == '\t')
print(False == '\n')
print(False == '\r') # 全部False
print(False == ' ')
print(False == 'W')
print('---------------')
print(True == '\t')
print(True == '\n')
print(True == '\r') # 全部False
print(True == ' ')
print(True == 'W')
print('**********************')
print(None == '\t')
print(None == '\n')
print(None == '\r') # 全部False
print(None == ' ')
print(None == 'W')
print('++++++++++++++++')
if 'w' and ' 'and '\n' and '\t'and '\r':
print('哈哈哈哈哈哈哈') # 哈哈哈哈哈哈哈
if not '':
print('呀呀呀呀呀呀') # 呀呀呀呀呀呀
print('--------练习4-------------')
4、写代码,有如下列表,利用切片实现每一个功能。
lst=[1,3,2,’a’,4,’b’,5,’c’]
(1).通过切片获取新的列表 lst2, lst2=[1,2,4,5]
(2).通过切片获取新的列表 lst3,lst3=[3,’a’,’b’]
(3).通过切片获取新的列表 lst4,lst4=[‘c’]
(4).通过切片获取新的列表 lst5,lst5=[‘b’,’a’,3]
lst = [1, 3, 2, 'a', 4, 'b', 5, 'c']
lst2 = lst[::2]
lst3 = lst[1:6:2] # 前两个参数是下表,此处取下标1-5,第三个为步长
lst4 = lst[-1] # 注意lst4与lst4_1、lst4_2表达式和结果不同
lst4_1 = lst[-1::] # 输出结果与lst4_2一样
lst4_2 = lst[-1:]
lst5 = lst[-3::-2] # 第二个参数为-8,到头了,所以不写也一样
#[::-1]就是倒序输出了,字符串也能用
print('lst2 =', lst2, '\nlst3 =', lst3,
'\nlst4 =', lst4, '\nlst4_1 =', lst4_1,
'\nlst4_2 =', lst4_2, '\nlst5 =', lst5)
print('--------练习5-------------')
5、列表题
lis = [['k', ['qqq', 20, {'k1': ['aa', 3, '1']}, 33], 'xx']]
(1).将 aa 变成大写AA。
(2).将列表中的3变成字符串‘3’
lst = [['k', ['qqq', 20, {'k1': ['aa', 3, '1']}, 33], 'xx']]
lst[0][1][2]['k1'][0] = lst[0][1][2]['k1'][0].upper()
lst[0][1][2]['k1'][1] = str(lst[0][1][2]['k1'][1])
print(lst)
print('--------练习6-------------')
6、字典dic = {'k1': 'v1', 'k2': ['sb', 'aa'], (1, 2, 3, 4, 5): {'k3': ['2', 100, 'wer']}}
(1). k2对应的值中添加33
(2).k2对应的值的第一个位置插入一个元素‘s’
(3).将(1,2,3,4,5)对应的值添加一个键值对 ‘k4’:’v4’
(4).将(1,2,3,4)对应的值添加一个键值对(1,2,3):‘ok’
(5).将’k3’对应的值的‘wer’改为’qq’。
dic = {'k1': 'v1', 'k2': ['sb', 'aa'], (1, 2, 3, 4, 5): {'k3': ['2', 100, 'wer']}}
dic['k2'].append(33) # k2对应的值中添加33
dic['k2'].insert(0, 's') # k2对应的值的第一个位置插入一个元素‘s’
dic[(1, 2, 3, 4, 5)]['k4'] = 'k4' # 将(1,2,3,4,5)对应的值添加一个键值对 ‘k4’:’v4’
dic[(1, 2, 3, 4, 5)][(1, 2, 3)] = 'ok' # 将(1,2,3,4)对应的值添加一个键值对(1,2,3):‘ok’
dic[(1, 2, 3, 4, 5)]['k3'][2] = 'qq'
print(dic)
print('--------练习7-------------')
7、类型转换题目
(1).int和str 如何转换,转换的结果是什么。
int(str)只能将数字类型的字符串转为数字
a = int('abc')
print(a) #报错
str(int)可直接转
(2).int 与bool如何转换,转换的结果是什么。
int只要不是0,就为真,0为False
True为一,False为0
(3).str 与 list 如何转换,转换的结果是什么
lst = list('abcd') # string转list
print(lst) # ['a', 'b', 'c', 'd']
str = ''.join(lst) # string
print(str) # abcd
print('--------练习8-------------')
8、实现下列结果
(1).有列表li=['aa','bb','cc'],将该列表构造成一个字符串 aabbcc
li = ['aa', 'bb', 'cc']
str1 = ''.join(li) # 使字符串的join方法,将迭代出的元素用''连接
print(str1)
(2).有列表li=['aa','bb','cc'],将该列表构造成一个字符串 aa*bb*cc
li = ['aa', 'bb', 'cc']
str2 = '*'.join(li)
print(str2)
(3).有字符串 s='albblcc' 将构造成一个列表 lst=[‘a’,’lbblcc’]
s = 'albblcc'
lst = []
s1 = s[0]
s2 = s[1:]
lst.append(s1)
lst.append(s2)
print(lst)
(4)有字符串 s='aab bcc' 构造成列表 lst=[‘aab’,’bcc’]
s='aab bcc'
lst = s.split(' ')
print(lst)
(5).有字符串s='abcd' 将字符串变成a_b_c_d。
s='abcd'
str = '_'.join(s)
print(str)
print('--------练习9-------------')
9、使用for循环和while循环打印1-2+3-4+5... +99 的结果。
(1)for实现
sum = 0
for i in range(1, 100):
if i % 2 ==0:
sum -= i
else:
sum += i
print(sum) # 50
(2)倒序while实现
a = 99
sum = 0
while a != 0:
if a % 2 == 0:
sum -= a
else:
sum += a
a -= 1
print(sum)
(3)正序while实现
a = 1
sum = 0
while a < 100:
if a % 2 == 0:
sum -= a
else:
sum += a
a += 1
print(sum)
(4)
sum = 0
for i in range(1, 100):
sum += i * ((-1)**(i + 1)) # 利用-1的幂,偶数项是负的
print(sum)
print('-----------练习10-----------')
10、使用range()函数打印 100,99,98,...0
for i in range(0, 101).__reversed__(): # range(100, -1, -1)也行
if i != 0:
print(i, ',', end='')
print(i)
print('-----------练习11-----------')
11、计算用户输入内容中索引为奇数并且对应的元素的数字的个数(没有则个数为零)
str1 = input('请输入数据,以空格分开:\n')
lst = str1.split(' ')
for elem in lst:
if lst.index(elem) % 2 == 1:
count = len(elem)
print(elem + '的索引为奇数,该元素数字个数为:'+ str(count))
###########特别注意#####################
str = input('请输入数据,以空格分开:\n')
lst = str.split(' ')
for elem in lst:
if lst.index(elem) % 2 == 1:
count = len(elem)
print(elem + '的索引为奇数,该元素数字个数为:'+ str(count))
这会报错,仅仅因为input那一行变量str影响了最后一行使用的函数str(),到最后一行时,
解释器对str产生了误会(其实是地址问题)!!!!
###########特别注意#####################
print('-----------练习12-----------')
12、有如下值li = [11, 22, 33, 44, 55, 77, 88, 99, 90],
将所有大于等于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中。
li = [11, 22, 33, 44, 55, 77, 88, 99, 90]
dic = {}
lst1 = []
lst2 = []
for i in li:
if i >= 66:
lst1.append(i) # 将符合条件的先存入列表中
dic['大于等于66'] = lst1 # 将列表给键
else:
lst2.append(i)
dic['小于66'] = lst2
print(dic)
print('-----------练习13-----------')
13、查找列表中lst的元素,移除每一个元素的空格,并且找出以’A’或者‘a’开头,并
以‘c’结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。
li = ['bajie ', 'axlzC', ' AbC ', ' gsssq ', ' bobo ', ' dongdong ', ' aqc']
li = ['bajie ', 'axlzC', ' AbC ', ' gsssq ', ' bobo ', ' dongdong ', ' aqc']
lst_new = []
for elem in li:
elem = elem.strip()
if elem[0].upper() == 'A' and elem.endswith('c'):
lst_new.append(elem)
print(lst_new)
print('-----------练习14-----------')
14、整数加法计算器
例如用户输入:5+8+21...(最少输入2个数相加),然后进行分割再进行计算,将最后的计算结果添加到字典中(替换None)。
dic = {'最终结果': None}
numStr = input('请输入加法算式:\n')
dic = {}
lst = numStr.split('+')
sum = 0
for i in lst:
sum +=int(i)
dic['最终结果'] = sum
print(dic)
------------------------------------
方法2:
dic = {'最终结果': None}
numStr = input('请输入加法算式:\n')
dic = {}
sum = eval(numStr) # eval就是处理字符串表达式的
dic['最终结果'] = sum
python集合例题_python 学到集合为止的17道练习题相关推荐
- Python学习教程(Python学习视频_Python学些路线):Day05 总结和练习
Python学习教程(Python学习视频_Python学些路线):总结和练习 练习清单 寻找"水仙花数". 寻找"完美数". "百钱百鸡" ...
- python中的集合类型_Python中的集合类型知识讲解
>>> s.add('z') >>> s set(['c', 'e', 'h', 'o', 'p', 's', 'z']) >>> s.updat ...
- python中集合运算_Python中的集合操作与集合运算
Python中的集合是一种无序的,无重复值的数据结构类型.Python中的集合可以用来检测元素检测或消除重复的元素. 一.python 集合概述 (1)Python中的集合元素是无序的,即元素没有顺序 ...
- python集合例题_python基础练习题、集合的讲解、一些公关方法
1.求100(含100)以内所有偶数的和 range(start,end,step)这个序列生成器,和那个切片的语法一样,含头不含尾,step是步长,这里就不需要在对j进行判断了,对于这些简单求奇数和 ...
- python集合例题_python练习题集合-2
author:headsen chen date:2018-06-01 15:39:26 习题17,文件的更多操作 [root@localhost py]# echo 1234567890 >c ...
- python并集符号_Python No.18_集合以及表示符号
# !/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hugolinhj list_1 = [1,4,5,7,6,3,7,9] list_1 = ...
- python判断数据是否在另一个集合中_python判断一个集合是否包含了另外一个集合中所有项的方法...
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- python二进制反码例题_Python 简易实现二进制反码求和
参考链接 二进制反码求和 UDP 检验和的回卷是什么意思? Python 计算 UDP 检验和 目录 1. 前言说明 2. 例子分析 3. 相关代码 4. 结果展示 5. 心得总结 一.前言说明 ↶ ...
- python递归函数例题_python练习题----函数、内置函数、递归等
1. 列举布尔值为False的值 { }.' '.0.().[ ].False.None2.根据范围获取其中3和7整除的所有数的和,并返回调用者:符合条件的数字个数以及符合条件数字的总和 #自答 fr ...
最新文章
- c-nominated = ((rcheck-use_candidate) || c-nominated);
- [云炬创业基础笔记]第六章商业模式测试24
- python怎么加图片_怎么在图片旁边加文字 python如何在图片上添加文字 - 励志 - 52资讯网...
- 【JVM】JVM指令集总结
- vue.js 重定向 和 404 等等相关的问题?
- 萝卜源码前后端源码+打包APP的教程
- mkdir 与mkdir -p 区别
- python : yield 的工作机制
- treeview子节点文本过长超过DIV自动换行CSS解决
- Web服务器性能压力测试工具
- ENVI提取植被指数(NDVI)的两种方法
- 货币角色分裂——解开金钱的角色
- Sphinx入门——快速生成Python文档
- 牛客网第九场多校联赛 	E Music Game
- 后智能手机时代的突围之道:OPPO的变与不变
- Android 开发2048 无法显示gameView、Card
- dubbo核心源码流程分析
- ethz-asl的catkin simple
- 计算机网络-CSMA/CD协议
- Qt修改exe文件图标