day06作业---字典循环

'''
1.1使⽤循环打印以下效果:
*
**
***
****
*****
'''
for a in range(1,6):
    print(a*'*')
View Code
'''
1.2:
*****
****
***
**
*
'''
for a in range(1,6):
    print((6-a)*'*')
View Code
'''
1.3:
*
***
*****
*******
*********
'''
for a in range(1,10,2):
    print(a*'*')
View Code
'''
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('合法!')
View Code
'''
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)
View Code
'''
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)
View Code
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)
View Code

 


posted @ 2019-03-07 21:59  learnacode  阅读(326)  评论(0编辑  收藏  举报