zoukankan      html  css  js  c++  java
  • day08--作业

    1、有列表['alex',49,[1900,3,18]],分别取出其中的年月日

    通过解压赋值来取值
    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    
    def main():
        info_list = ['alex',49,[1900,3,18]]
        name,age,birth_list = info_list
        birth_year,birth_mon,birth_day = birth_list
        print('姓名:{0}
    年龄:{1}
    出生年份:{2}
    出生月份:{3}
    出生day:{4}'.format(
              name,age,birth_year,birth_mon,birth_day))
    
    if __name__ == '__main__':
        main()

    2、用列表的insert和pop方法模拟队列

    队列的原理:先进先出,类似于火车过山洞
    
    >>> list_1 = []
    >>> list_1.insert(0,'egon')
    >>> list_1.insert(1,'male')
    >>> list_1.insert(2,18)
    >>> print(list_1)
    ['egon', 'male', 18]
    >>> 
    
    >>> list_1.pop(0)
    'egon'
    >>> list_1.pop(0)
    'male'
    >>> list_1.pop(0)
    18
    >>> print(list_1)
    []
    >>> 

    3、使用insert和pop模拟堆栈

    堆栈:先进后出,类似于在图书馆取书,最先拿的书总是在下面
    
    >>> list_1 = []
    >>> list_1.insert(0,'tank')
    >>> list_1.insert(1,'male')
    >>> list_1.insert(2,19)
    >>> print(list_1)
    ['tank', 'male', 19]
    >>> 
    
    >>> list_1.pop(-1)
    19
    >>> list_1.pop(-1)
    'male'
    >>> list_1.pop(-1)
    'tank'
    >>> print(list_1)
    []
    >>> 

    4、简单购物车,要求实现以下要求

    目标要求:
    实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数以三元组形式加入购物列表,如果输入为空或其他非法输入则要求用户重新输入  
    msg_dic={
    'apple':10,
    'tesla':100000,
    'mac':3000,
    'lenovo':30000,
    'chicken':10,
    }

    代码如下:

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    
    from prettytable import PrettyTable
    
    msg_dic = {'apple':10,
               'tesla':100000,
               'mac':3000,
               'lenovo':30000,
               'chicken':10}
    
    def main():
        goods_info = []
        total = 0
        while 1:
            tb = PrettyTable()
            tb.field_names = ['商品名称','商品价格']
            tb.align['商品名称'] = 'l'   # 以“商品名称”字段左对齐
            tb.align['商品价格'] = 'c'   # 以“商品价格字段”居中对齐
            for k,v in msg_dic.items():
                tb.add_row([k,v])
            print(tb.get_string(sortby='商品价格',reversesort=True)) #对商品列表进行排序
            goods_choice = input('请输入你要购买的商品:').strip()
            if goods_choice in msg_dic.keys():
                num_choice = int(input('请输入购买{}的数量:'.format(goods_choice)))
                goods_info.append([goods_choice,msg_dic.get(goods_choice),num_choice])
                _continue = input('购买成功,是否继续添加商品(y,n):').strip().lower()
                if _continue == 'y':
                    continue
                else:
                    print('用户选择n或者输入其他非法字符,退出!')
                    break
            else:
                print('输入为空或者其他非法字符,请重新输入!')
        #输出购物车信息
        tb_shop = PrettyTable()
        tb_shop.field_names = ['商品名称','商品单价','商品数量','金额小计']
        tb_shop.align['商品名称'] = 'l'
        tb_shop.align['商品单价'] = 'c'
        tb_shop.align['商品数量'] = 'c'
        tb_shop.align['金额小计'] = 'c'
        for item in goods_info:
            name_of_goods,price_of_goods,num_of_goods = item
            sum_of_money = price_of_goods * num_of_goods
            total += sum_of_money
            tb_shop.add_row([name_of_goods,price_of_goods,num_of_goods,sum_of_money])
        print(tb_shop.get_string(sortby='金额小计',reversesort=True))
        print('您一共消费{}元,欢迎下次光临!'.format(total))
    
    if __name__ == '__main__':
        main()
    View Code

    5、有如下集合[11,22,33,44,55,66,77,88,99,90...],将所有值大于66的值存放于字典的第一个key中,所有小于66的放在字典的第二个key中

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    
    def main():
        list_1 = [11,22,33,44,55,66,77,88,99,90]
        d = {}
        d['k1'] = [i for i in list_1 if i > 66]
        d['k2'] = [j for j in list_1 if j < 66]
        print(d)
    
    if __name__ == '__main__':
        main()

    6、统计字符串 s='hello alex alex say hello sb sb'中每个单词的个数

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    
    def main():
        s = 'hello alex alex say hello sb sb'
        list_s = s.split(' ')
        dict_word = {}
        for  i in range(len(list_s)):
            dict_word.setdefault(list_s[i],list_s.count(list_s[i]))
        for k,v in dict_word.items():
            print('单词{0}的个数为{1}'.format(k,v))
    
    if __name__ == '__main__':
        main()

    方法二如下:(通过set)

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    
    def main():
        s = 'hello alex alex say hello sb sb'
        list_s = s.split(' ')
        set_word = set(list_s)
        for item in set_word:
            print('单词{0}的个数为{1}'.format(item,list_s.count(item)))
    
    if __name__ == '__main__':
        main()
  • 相关阅读:
    拾回被剥削的自由,未来实实在在的弹性工作一定成为主流
    探索RequestBody报com.alibaba.fastjson.JSONObject cannot be cast to xxx
    CSM与UEFI
    JS使用onscroll、scrollTop实现图片懒加载
    点击button后刷新了页面
    jQuery中prop和attr区别
    encodeURI、encodeURIComponent
    局中人
    年轻人能为世界做些什么
    JavaWeb中的资源映射
  • 原文地址:https://www.cnblogs.com/surpass123/p/12463414.html
Copyright © 2011-2022 走看看