可变的数据类型:list, dict, set(可修改其中的元素)
不可变的数据类型:str, tuple
重点:str, list, dict
(1).推导式练习
#利用列表推导式: 找出100以内所有奇数,并将所有奇数乘以3,写入列表。
li = [i * 3 for i in range(1, 101) if i % 2 !=0]print(li)
li= [i * 3 for i in range(1, 101, 2)]print(li)
View Code
(2).递归的使用:(经典的猴子吃桃)
"""猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又多吃了一个。
第二天又将剩下的桃子吃掉一半,又多吃了一个。
以后每天都吃前一天剩下的一半零一个。
到第10天在想吃的时候就剩一个桃子了,
问:第一天共摘下来多少个桃子?"""
"""先进行分析:
第n天: 10 9 8 7
剩(个): 1 (1+1)*2=4 (4+1)*2=10 (10+1)*2=22"""
defpeachs(n):if n == 10:return 1
else:return (peachs(n + 1) + 1) * 2
print(peachs(1))
View Code
没理解递归的话,看下面这个方案:
n = 1 #天
x = 1 #桃子几个
while n < 10: #第9天发现只剩了一个
x = (x + 1) * 2n+= 1
print(x)
View Code
(3).基础函数练习1
'''定义一个函数:
统计传入的字符串里,英文字母、空格、数字和其他字符分别出现次数,
并作为一个字典返回 {'字母': ,'空格': ,'数字': ,'其他字符:' }'''
defcount_types(s):#先定义一个字典
dict = {"字母": 0, "空格": 0, "数字": 0, "其他字符": 0}#遍历取出字符串中每个值
for i ins:ifi.isalpha():
dict["字母"] += 1 #键值访问,直接自加
elifi.isspace():
dict["空格"] +=