day06作业---字典循环
'''
1.1使⽤循环打印以下效果:
*
**
***
****
*****
'''
for a in range(1,6): print(a*'*')
'''
1.2:
*****
****
***
**
*
'''
for a in range(1,6): print((6-a)*'*')
'''
1.3:
*
***
*****
*******
*********
'''
for a in range(1,10,2): print(a*'*')
'''
2.输入⼀个⼴告标语. 判断这个广告是否合法.
根据最新的⼴告法来判断. ⼴告法内容过 多.
我们就判断是否包含'最', '第⼀', '稀缺', '国家级'等字样. 如果包含. 提⽰, ⼴告不 合法 例如,
(1)老男孩python世界第⼀. 不合法
(2)今年过年不收礼啊. 收礼只收脑⽩⾦. 合法
'''
ad = input('输入⼀个⼴告标语:').strip() lis = ['最', '第⼀', '稀缺', '国家级'] num = 0 for li in lis: if li in ad: # print('不合法') num +=1 else: # print('合法') print('',end='') if num == 1: print('不合法!') else: print('合法!')
'''
3.敲七游戏. 从1开始数数. 遇到7或者7的倍数(不包含17,27,这种数)要在桌上敲⼀下. 编程来完成敲七.
给出⼀个任意的数字n. 从1开始数. 数到n结束. 把每个数字都放在列表中, 在数的过程中出现7或 者7的倍数(不包含17,27,这种数).则向列表中添加⼀个'咣'
例如, 输⼊10. lst = [1, 2, 3, 4, 5, 6, '咣', 8, 9, 10]'''
lst = [] n = input('请输入要数的数').strip() for i in range(1,int(n)): if i == 7 or i % 7==0: i = '咣' lst.append(i) print(lst)
'''
4.念数字给出一个字典. 在字典中标识出每个数字的发音. 包括相关符号.
然后由用户输入一个数字. 让程序读出相对应的发音(不需要语音输出. 单纯的打印即可)'''
厉害 代码的简单 if c in dic():
msg = input('input a string:') # 遍历输入的字符串,到字典中查找 for c in msg: # 查字典 if c in dic(): # =遍历 字典的key 和for 一样 # if c in dic.keys(): print(dic[c],end=' ')
我用了两个for 把for 和if 合二为一了
我的错误:忽略了特殊情况 只考虑正常输出
input 输出的本来就是字符串类型
num = input('请输入一个数:').strip()
# print(num1,type(num1))
#num = str(num) # num 本来就是字符串
for nu in num:
# if nu in dic[nu] # : for key in dic.keys() : if nu == key: a = dic[nu] print(a , end=' ')
'''
5.电影投票. 程序先给出⼀个⽬前正在上映的电影列表. 由⽤户给每⼀个电影投票.
最终将该⽤户投票信息公布出来 。
要求:
1,用户输入序号,进行投票。比如输入序号 1,给瓶梅投票1。
2,每次投票成功,显示给哪部电影投票成功。
3,退出投票程序后,要显示最终每个电影的投票数。
lst = ['瓶梅', '解救吾先⽣', '美国往事', '⻄⻄⾥的美丽传说']
结果: {'瓶梅': 99, '解救吴先⽣': 80, '美国往事': 6, '⻄⻄⾥的美丽传说': 23}
'''
lst = ['⾦瓶梅', '解救吾先⽣', '美国往事', '⻄⻄⾥的美丽传说'] # 结果: {'⾦瓶梅': 99, '解救吴先⽣': 80, '美国往事': 6, '⻄⻄⾥的美丽传说': 23} jieguo = {'⾦瓶梅':0, '解救吾先⽣':0, '美国往事':0, '⻄⻄⾥的美丽传说':0} while True: num = input('请输入 投票 ,按(q/Q)结束’').strip() if num.lower() == 'q': break else: if num.isdigit(): num = int(num) if 0<num<=4: jieguo[lst[num-1]]=jieguo[lst[num-1]]+1 print(jieguo) else: print("超出范围,请重新输入:") else: print('请重新输入:') print(jieguo)
lst = ['白蛇缘起','流浪地球','镇魂街','魁拔'] # dic = {'白蛇缘起':0 , '流浪地球':0 , '镇魂街':0,'魁拔':0} dic = {} while 1: print('请给一下电影投票:') for index in range(len(lst)): print('电影序号:{},电影名称:{}'.format((index+1),lst[index])) num =input('请输入电影序号:q或者Q退出').strip() if num.upper()=='Q': print('感谢您参与!') # 好aa break # elif num.isdigit(): # num = int(num) # 重复了 elif num.isdigit(): num = int(num) if 0< num <= len(lst):# 这个好 不是 '''要是没有白蛇缘起电影,增加一个键值对,设置为0 如果有电影 , 对应的值 +1 ''' if not dic.get(lst[num-1]): dic[lst[num-1]] =1 else: dic[lst[num-1]] +=1 # dic[lst[num-1]] = dic.get(lst[num-1] , 0) + 1 # 通过键 返回 值 没有返回0 0+1 =1 下一次 # 有值 1 + 1 print("您已经给{}投票成功".format(dic[lst[num-1]])) else: print('超出范围') else: print('输入有误!') for movie_name , movie_num in dic.items(): print(movie_num,movie_name)