zoukankan      html  css  js  c++  java
  • python基础学习-day09==课后作业练习(字符串、列表、元组、字典)

    # 1、有列表['alex',49,[1900,3,18]],分别取出列表中的名字,年龄,出生的年,月,日赋值给不同的变量
    list=['alex',49,[1900,3,18]]
    #正向取值:
    name=list[0]
    print("姓名为:",name)
    #反向取值:
    age=list[-2]
    print("年龄为:",age)
    #pop删除最后一个元素,返回值
    year, mon, day = list[2][:]
    print("出生年月为:%s年%s月%s日"%(year,mon,day))

    运行结果:


    # 2、用列表的insert与pop方法模拟队列
    list1 =[]
    #队列是先进先出的
    list1.insert(0,'1')
    list1.insert(0,'2')
    list1.insert(0,'3')
    print(list1)
    #从最后一个位置顺序出队
    print(list1.pop())
    print(list1.pop())
    print(list1.pop())

    运行结果:
    
    

    # 3. 用列表的insert与pop方法模拟堆栈
    #堆栈是后进先出的
    list2 = []
    list2.insert(0,'1')
    list2.insert(0,'2')
    list2.insert(0,'3')
    print(list2)
    print(list2.pop(0))#从第一个位置顺序出栈
    print(list2.pop(0))
    print(list2.pop(0))

    运行结果:
    
    

    # 4、简单购物车,要求如下:
    # 实现打印商品详细信息,用户输入商品名和购买个数,
    # 则将商品名,价格,购买个数以三元组形式加入购物列表,
    # 如果输入为空或其他非法输入则要求用户重新输入

    #
    my_dict={
    'apple':10,
    'tesla':100000,
    'mac':3000,
    'lenovo':30000,
    'chicken':10,
    }
    
    
    #打印所有商品信息
    print("=======商品详细信息有=============")
    print(my_dict)
    
    # 定义一个商品空列表
    shop_list=[]
    
    shop_name =input("请输入商品名称:").strip()
    count= int(input("输入购买个数:"))
    flag = 1
    while flag:
        if shop_name in my_dict and count!=0:
            price=int(my_dict[shop_name])*int(count)
            print('商品:%s,单价为:%s,数量:%s,总价为:%s'%(shop_name,my_dict[shop_name],count,price))
            #把商品信息放入商品列表
            shop_list.append(shop_name)
            shop_list.append(my_dict[shop_name])
            shop_list.append(count)
            shop_list.append(price)
            shop_tuple = tuple(shop_list)   #将列表转换成元组
            print("商品购物列表为:",shop_tuple)
            flag = 0
        else:
            print("没有该商品请重新输入!")
            shop_name = input('输入要购买的商品:')
            count = input('输入商品个数:')
    
    
    print("==========================
    
    
    
    ")


    运行结果:
    
    
    # 5、有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,
    # 将小于 66 的值保存至第二个key的值中
    #
    # 即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
    list=[11,22,33,44,55,66,77,88,99,90]
    #定义一个空字典
    dict = {'k1': [], 'k2': []}
    #遍历list列表
    for x in list:
        if x >= 66:
            dict['k1'].append(x)
        elif x < 66:
            dict['k2'].append(x)
    
    print(dict)

    运行结果:
    
    
    # 6、统计s='hello alex alex say hello sb sb'中每个单词的个数
    # 计算单词中的字母个数
    s='hello alex alex say hello sb sb'
    list=s.split(" ")  #将字符串里的单词以空格进行切片成子字符串
    print(list)
    for x in list:
        line=len(x)
        print("%s的单词中的字母个数为:%s" %(x,line))
    
    #统计单词个数
    # 方法一:字典计数
    s='hello alex alex say hello sb sb'
    list=s.split(" ")  #将字符串里的单词以空格进行切片成子字符串
    print(list)
    dic = {}
    for line in list:
        # 如果当前的line不存在dic字典中,代表该单词是第一个出现,也就是个数为1
        if line not in dic:
            # 若单词出现第一次,则将该单词当做字典的key,1作为字典的value
            # 初始化单词的个数
             dic[line] = 1
        else:
            # 若是重复出现的单词,则个数 += 1
            dic[line] += 1
    print(dic)
    
    # 方法二:使用count
    s='hello alex alex say hello sb sb'
    list=s.split(" ")  #将字符串里的单词以空格进行切片成子字符串
    print(list)
    dic = {}
    for line in list:
        # 如果当前的line不存在dic字典中,代表该单词是第一个出现,也就是个数为1
        if line not in dic:
            dic[line] = list.count(line)
    print(dic)

    运行结果:

    
    


  • 相关阅读:
    第四章例4-5
    第四章例4-4
    修改oracle 客户端PL/SQL 的路径问题
    解决div float后,父div高度无法自适应的问题
    include与jsp:include与s:action与s:include与iframe用法汇总
    解决js中onMouseOut事件冒泡的问题
    strut2配置action class 问题
    html块级元素与行内元素
    Tomcat 启动不了的问题
    oracle远程导入导出
  • 原文地址:https://www.cnblogs.com/dingbei/p/12465281.html
Copyright © 2011-2022 走看看