• 3-11作业



    1、有列表['alex',49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量
     1 #方法一
     2 list=['alex',49,[1900,3,18]]
     3 print("名字:",list[0],'年龄:',list[1],'出生:','年:',list[2][0],'月:',list[2][1],'日:',list[2][2])
     4 
     5 # 方法二
     6 data=['alex',49,[1900,3,18]]
     7 name=data[0]
     8 age=data[1]
     9 y,m,d=data[2]
    10 print("姓名:{},年龄:{},出生年月日:{}.{}.{}".format(name,age,y,m,d))
    
    
    list1 = ['alex', 49, [1900, 3, 18]]
    name, age, birth = list1
    year, month, day = birth
    print(name, age, birth)
    print(year, month, day)
    
    


    2、用列表的insert与pop方法模拟队列
     1 # 队列:FIFO,先进先出 后进后出
     2 l=[]
     3 # 入队操作
     4 l=[]
     5 # 入栈操作
     6 l.insert(0,'first')
     7 l.insert(0,'second')
     8 l.insert(0,'third')
     9 #
    10 print(l)
    11 # 出队操作
    12 print(l.pop())
    13 print(l.pop())
    14 print(l.pop())
    
    
    list1 = []
    # 根据列表的索引位置插入数据
    # 数据开始进入队列中
    list1.insert(0, '我是第一个坦克')
    list1.insert(1, '我是第二个坦克')
    list1.insert(2, '我是第三个坦克')
    print(list1)
    
    # 数据开始出队列
    list1.pop(0)
    print(list1)
    list1.pop(0)
    print(list1)
    list1.pop(0)
    print(list1)
    
    
    

    3. 用列表的insert与pop方法模拟堆栈
     1 # 堆栈:LIFO,后进先出 先进后出
     2 l=[]
     3 # 入队操作
     4 l.insert(0,'first')
     5 l.insert(0,'second')
     6 l.insert(0,'third')
     7 
     8 print(l)
     9 # # 出队操作
    10 print(l.pop(0))
    11 print(l.pop(0))
    12 print(l.pop(0))
    
    
    # 堆栈: 先进后出
    list1 = []
    # 根据列表的索引位置插入数据
    # 数据开始进入队列中
    list1.insert(0, '我是第一个坦克')
    list1.insert(1, '我是第二个坦克')
    list1.insert(2, '我是第三个坦克')
    print(list1)
    
    list1.pop()  # 默认取出列表中最后一个数据
    print(list1)
    list1.pop()  # 默认取出列表中最后一个数据
    print(list1)
    list1.pop()  # 默认取出列表中最后一个数据
    print(list1)
    
    

    4、简单购物车,要求如下:

    实现打印商品详细信息,用户输入商品名和购买个数,则将商品名,价格,购买个数以三元组形式加入购物列表,如果输入为空或其他非法输入则要求用户重新输入  
    '''
    msg_dic={
    'apple':10,
    'tesla':100000,
    'mac':3000,
    'lenovo':30000,
    'chicken':10,
    }
    '''
     1 msg_dic = {
     2     'apple': 10,
     3     'tesla': 100000,
     4     'mac': 3000,
     5     'lenovo': 30000,
     6     'chicken': 10,
     7 }
     8 while True:
     9     for k,v in msg_dic.items():
    10         print('商品:%s     价格 %s' % (k,v))
    11     shop_name = input('请输入商品名:')
    12     if shop_name.isspace() or shop_name not in msg_dic:
    13         print('请正确输入商品名称')
    14     else:
    15         while True:
    16             shop_number = input('请输入购买商品个数')
    17             if shop_number.isdigit():
    18                 shop_number = int(shop_number)
    19                 # 商品价格
    20                 shop_price = msg_dic[shop_name] * shop_number
    21                 # 购物清单
    22                 shopping_list = (shop_name, shop_price, shop_number)
    23                 print('购物列表'.center(30, '*'), '
    ', shopping_list)
    24                 break
    25             else:
    26                 print('请输入正确的购买个数')
    27         break
    msg_dic = {
        'apple': 10,
        'tesla': 100000,
        'mac': 3000,
        'lenovo': 30000,
        'chicken': 10,
    }
    while True:
        # 实现无限循环打印商品信息,让用户选择商品
        for key, value in msg_dic.items():
            # 格式化输出方式一:
            # print('商品名称:[%s]  单位: [%s]元' % (key, value))
    
            # 格式化输出方式二:
            # print('商品名称:[{}]  单位: [{}]元'.format(key, value))
    
            # 格式化输出方式三:  f'{key}{value}' ---> 等同于 '{}{}'.format(key, value)
            # 该语法是python3.5以后才出来
            print(f'商品名称:[{key}]  单位: [{value}]元')
    
        # 让用户输入商品名称
        shop_name = input('请输入需要购买的商品名称: ').strip()
    
        # 校验用户输入的商品是否存在
        if shop_name not in msg_dic:
            print('当前商品不存在')
            continue
    
        # 让用户输入购买的商品个数
        count = input('请输入购买的商品个数:').strip()
        if count.isdigit():
            count = int(count)
    
            shop_price = msg_dic.get(shop_name)
    
            cost = shop_price * count
    
            # 将商品的名称、单价、个数、总价 存放在一个元组中
            shop_tuple = (shop_name, shop_price, count, cost)
            print(shop_tuple)
    
            # 让用户选择是否继续购买
            break
    
        else:
            print('个数必须是数字类型!')
    完整版

    5、有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中
    即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
     1 l = [11,22,33,44,55,66,77,88,99,90]
     2 dic = {'k1':[], 'k2':[]}
     3 for i in l:
     4     if i > 66:
     5         dic['k1'].append(i)
     6     elif i < 66:
     7         dic['k2'].append(i)
     8 print(dic)
     9 # 6、统计s='hello alex alex say hello sb sb'中每个单词的个数
    10 s='hello alex alex say hello sb sb'
    11 dic = {}
    12 l = s.split()
    13 for i in l:
    14     if i in dic:
    15         dic[i] += 1
    16     else:
    17         dic[i] = 1
    18 print(dic)
    
    
    list1 = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
    dict1 = {'k1': [], 'k2': []}
    # 循环遍历获取list1中的每一个值,然后一一比较
    for line in list1:
        if line > 66:
            dict1['k1'].append(line)
        elif line < 66:
            dict1['k2'].append(line)
    print(dict1)
    优质版
    
    
    

    6、统计s='hello alex alex say hello sb sb'中每个单词的个数
    1 s='hello alex alex say hello sb sb'
    2 dic = {}
    3 l = s.split()
    4 for i in l:
    5     if i in dic:
    6         dic[i] += 1
    7     else:
    8         dic[i] = 1
    9 print(dic)
    s = 'hello alex alex say hello sb sb'
    new_list = s.split(' ')
    print(new_list)
    dic = {}
    for line in new_list:
        # 如果当前的line不存在dic字典中,代表该单词是第一个出现,也就是个数为1
        if line not in dic:
            # 若单词出现第一次,则将该单词当做字典的key,1作为字典的value
            # 初始化单词的个数
            dic[line] = 1
    
        else:
            # 若是重复出现的单词,则个数 += 1
            dic[line] += 1
    
    print(dic)
    优质版
  • 相关阅读:
    NSRunLoop 详解
    Delphi经验总结(2)
    Delphi经验总结(3)
    卸载Windows服务
    Windows 8操作技巧之快捷键大全
    delphi 换行操作 Word
    现在, Delphi 的多线程已经非常易用了!
    XP 之后, Delphi 动注册表不方便了...逼出来一个办法:
    写了一个字符串的二维表: TSta
    现在使用控件, 更喜欢继承
  • 原文地址:https://www.cnblogs.com/2722127842qq-123/p/12464933.html
Copyright © 2020-2023  润新知