@chengweihuang
2018-11-24T09:11:22.000000Z
字数 3879
阅读 761
邮科院
'''for 语句作用 :用来遍历可迭代对象的数据元素可迭代对象 list tuple strfor 循环语法for 变量列表 in 可迭代对象:语句块1else:语句块2练习'''# 输入任意一段字符串# 1 计算出输入字符 'a' 的个数 ,并打印出这个数# 2 计算出空格的个数,并打印出这个数# 不能使用 str.count# s = 'abcd'# for ch in s:# print('ch----->>>>',ch)# s = 'abcda abdca'# l = len(s) # 得到字符串的长度 11# a = 0 # 用来记录 ‘a’ 的个数# sp =0# 用来记录 空格 的个数# while True:# if s[l-1] == 'a':# a+=1# elif s[l-1] ==' ':# sp+=1# l=l-1# if l == 0:# break# print('a 的个数为',a)# print('空格 的个数为',sp)# for i in s:# if i == 'a':# a+=1# elif i ==' ':# sp+=1# print('a 的个数为',a)# print('空格 的个数为',sp)# for else 语句说明# else 可以省略 当循环内部 用break终止的时候# else 字句不会被执行的# for i in '12345':# print(i)# break# else:# print('for 循环结束')# 输入一段字符串 判断这个字符串内 是否有 'H'# 打印出结果# s = 'my name is HHHHH'# for i in s:# if i =='H':# print('有H')# break# else:# print('没有 H')# range 函数# range(stop) range(start,stop) range(start,stop,step)# range(stop)---> 用来生成 0--stop 区间内的整数(到stop停止,不包含stop)#range(start,stop) 从start 到 stop 不包括stop# range(start,stop,step) 从start 到 stop 不包括stop 步长是step# for i in range(5,0):# print(i)# print('1',end=',')# print('1',end=',')# print('1',end='\n')# 用 for 打印 1 到 20 的整数 打印在一行内# 求 1+3+5+7+......+ 99 的和# sum = 0# for i in range(1,100,2):# sum=sum+i# print(sum) # sum 函数名# l = [1,2,3,4,5]# print(sum(l))# range(4) 0 1 2 3# range(3,6) 3 4 5# range(1,10,2) 1 3 5 7 9# range(5,0,-2) 5 3 1# range(5,0) 空# i = 6# for x in range(1,i): # i 在第一次循环的时候 保存在内存里了# print('x=',x,'i=',i)# i-=1# for 循环的嵌套# for x in 'abc':# for y in '123':# print(x+y)# for x in range(5):# for y in range(10):# print('hello')# 求 100 以内,有那些数与自身+1 的乘积 再对11求余 等于 8# x *(x+1) % 11 ==8# for i in range(101):# # if i*(i+1)%11 == 8: # 当条件成立 打印# # print(i)# 输入一个数 ,打印如下正方形# 请输入 5# 1 2 3 4 5 j == 0 1--------5# # 2 3 4 5 6 j==1 2--------6# # 3 4 5 6 7 j==2 3 --------7# 4 5 6 7 8# 5 6 7 8 9# for j in range(5): # 0 1 2 3 4# for i in range(j+1,j+6):# print(i,end=' ')# print()'''****************'''#for i in range(1,10):# print( (10-i)*' ',(2*i-1)*'*')#print(''.join((10-i)*' '+(2*i-1)*'*'+'\n' for i in range(1,10)))# 一行代码金字塔'''字典 dict什么是字典1 字典是一种可变的容器,可以储存任何类型的数据2 字典中的每一个数据,都是通过键来索引的,而不像序列,可以通过下标来索引3 字典是没有先后顺序的,也就是无序的4 字典中的数据已键值对形式进行映射存储5 字典的键不能重复,且只能用不可变类型做字典的键创建一个空字典d = {}创建一个非空字典d={'name':'tony','age':20}d={'a':tuple('a','b','c')}'''# d = {'name':'王力宏','age':35}# print(d)# # 字典的取值语法 v = 字典[键]# value = d['name']# # print(value)# 字典的添加和修改#d = {}#d['name'] = '小王' # 创建新的键 'name' 同时关联值#d['age'] = 55#d['age'] = 22#print(d)# 说明 键不存在,则创建,并绑定关系# 如果存在,就修改键的绑定关系# 字典的删除 del 语句# del 字典['键']#del d['age']#print(d)# 字典的 in / not in# in 用来判断一个键是否存在字典中 ,如果存在,返回True 不存在 返回False# not in 的返回结果,与in 相反d = {}d['name'] = '小王' # 创建新的键 'name' 同时关联值d['age'] = 55d['age'] = 22print('小王' in d) # 找不到print('name' in d)'''写程序,实现以下要求将如下信息形成一个字典键 值1 春季有 1 2 3 月2 夏季有 4 5 6 月3 秋季有 7 8 9 月4 冬季有 10 11 12 月让用户输入一个整数代表这个季度,打印这个季度的信息 如果输入的数字不存在则打印 信息不存在'''# d = {# '1': '春季有 1 2 3 月',# '2': '夏季有 4 5 6 月',# '3': '秋季有 7 8 9 月',# '4': '冬季有 10 11 12 月'#}# for i in d:# print('键',i) # 迭代取值 取得是键# print('值',d[i])# s = input('请输入整数 1-4')# if s in d:# print(d[s])# else:# print('信息不存在')# 字典的迭代访问# 可以用于字典的函数'''len(x) 返回字典的键值对个数max(x) 返回字典键的最大值min(x) max 相反sum(x) 字典的键求和 # 当字典的键 都是数字类型的时候才可以使用'''# d = {# 1: '春季有 1 2 3 月',# 2: '夏季有 4 5 6 月',# 3: '秋季有 7 8 9 月',# 4: '冬季有 10 11 12 月'# }# print(len(d),max(d),sum(d))# 字典的方法'''d.clear() 清空字典d.pop(key) 移除键,同时返回此键对应的值d.copy() 返回d 的副本d.update(d2) 将 d2合并到d中 ,如果键相同,取d2的值@@@@@d.get(key,'default') 返回key所对应的值 ,如果键不存在,则返回None 或者返回自定义的值 如果是这样的取值 d[key] 没有键 则报错d.values() 返回可迭代dict_values 集合对象d.keys() 返回可迭代dict_key 集合对象d.items() 返回可迭代dict_items 集合对象'''# d = {1:'one',2:'two','name':'test'}# d2 = {2:'二',3:'三'}# for i in d.items():# print(i)#print(d.get('name'))# d3 = d.copy()# #d.clear() # 清空字典# d.pop(2) # 删除键# print(d)# print(d2)# print(d3)# d.update(d2)# print(d)# 输入任意一段字符串 打印出这个字符串中,出现过得字符,以及字符出现的次数# AABBCCDDAAUU str.count()'''A: 4次B: 2次C: 2 次D: 2 次U: 2次'''# s = input('请输入字符串')# dic = {}# for i in s:# if i not in dic: # 如果不存在 则 赋值为 1# dic[i] =1# else:# dic[i]+=1 # 如果以及存在 则累加# print(dic)# 字典推导式# 是用于迭代对象生成字典的表达式# 语法# {键表达式:值表达式 for 变量 in 可迭代对象 [if ----]}# d = {x:x*2 for x in range(1,10)}# print(d)# 已知有以下列表# ['tom','pite','tony','steven']# d = {'tom':3,'pite':4,'tony':4,'steven':6}# l = ['tom','pite','tony','steven']# d = {i:len(i) for i in l if len(i)<5}# print(d)# 已知有如下两个列表#['tom','pite','tony','steven','huangchengwei']#[10,15,8,50,5]# {'tom':10,'pite':15,'tony':8,'steven':50,'huangchengwei':5}f = ['tom','pite','tony','steven','huangchengwei']n = [10,15,8,50,5]d = {f[i]:n[i] for i in range(len(f))}print(d)