码迷,mamicode.com
首页 > 编程语言 > 详细

Python开发Day2(练习解答)

时间:2016-05-02 18:43:04      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:

  1. 练习一

    技术分享
     1 a=[11,22,33,44,55,66,77,88,99,90]        #定义列表
     2 b={
     3     k1:[],
     4     k2:[]
     5 }               #定义一个空的字典一会吧列表里符合条件的添加进去
     6 for i in a:         #for循环取列表中的元素
     7     int(i)      #将列表中的值将之转换成整型
     8     if i > 66:   #判断i数字是否大于数字66
     9         b[k1].append(i)       #将判断数字大于66的添加进k1字典中
    10     elif i < 66 :   #判断i数字是否小于数字66
    11         b[k2].append(i)            #将判断数字小于66的添加进k1字典中
    12 print(b)        #输出字典
    13 
    14 执行结果:
    15 {k1: [77, 88, 99, 90], k2: [11, 22, 33, 44, 55]}
    作业一

     

  2. 练习二

    技术分享
    li = ["alec", " aric", "Alex", "Tony", "rain"]          #定义列表
    tu = ("alec", " aric", "Alex", "Tony", "rain")          #定义元组
    dic = {
        k1: "alex",
        k2:  aric,
        "k3": "Alex",
        "k4": "Tony"
    }               #定义字典
    
    li.extend(list(tu)+list(dic.values()))    #将字典中的value(值)取出来,将元组转换成列表形式,然后和列表li合并,这一步操作将所有的元素放在了一起
    for i in li:     #for循环列表li的元素,将其一一取出。
        i=i.strip()       #将循环出的字符串两边空格移除
        if (i.upper()).find(A) == 0 or i[len(i)-1] == c:   #将循环的值取出后将字符串小写转换成大写,在循环出的字符串中找到大写A的位置等于0(也就是开头),or(或者)拿出循环元素的总长度进行索引-1(拿到结尾)判断是不是等于字符串c
            print(i)            #循环出的元素满足要求的进行输出
    执行结果:
    alec
    aric
    Alex
    alec
    aric
    Alex
    alex
    aric
    Alex
    作业二

     

  3. 练习三

    技术分享
    shangpin= ["手机", "电脑", 鼠标垫, 游艇]   #定义一个列表
    for k,v in enumerate(shangpin,1):       #for循环取出列表中的元素,并加上序号从1开始
        print(k,v)              #显示序号并且显示元素
    xuhao=input(请输入要购买商品的序号>>>>)          #等待用户选择序号后赋值给xuhao变量
    
    if xuhao.isdigit():     #判断xuhao中的字符串是不是数字
        xuhao=int(xuhao)        #再上一层判断是数字后强制将str转换成int
        if xuhao < len(shangpin)+1: #判断用户输入的数字是否小于显示出来的序号,len(shangpin)+1:意思是统计商品元素一共有多少然后得到的数字+1
            print(shangpin[xuhao-1])    #输出用户输入的序号并显示对应的元素,shangpin[xuhao-1]:商品索引用户输入的数字-1后的元素位置
        elif xuhao > len(shangpin)+1:       #判断用户输入的数字是否大于显示出来的序号
            print(您输入的商品序号过大。)        #输出用户输入的序号过大
        else:           #另一种可能就是永和输入的过小
            print(您输入的商品序号过小。)        #输出用户输入的序号过小
    else:
        print(您输入的不是数字)           #在第一个判断的时候如果用户输入的是字母或其他的会输出该提示
    执行结果:
    1 手机
    2 电脑
    3 鼠标垫
    4 游艇
    请输入要购买商品的序号>>>>2
    电脑
    作业三

     

  4. 练习四

    技术分享
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    __author__ = WuYongQi
    import time
    gouwu = [
        {"商品名": "电脑", "价格": 1999},
        {"商品名": "鼠标", "价格": 10},
        {"商品名": "游艇", "价格": 20},
        {"商品名": "美女", "价格": 998},
    ]               #定义字典内容
    zhuangtai=True      #定义一个变量为True
    gouwuche=[]             #定义一个空的列表
    while zhuangtai:      #判断zhuangtai变量是不是为真,如果是就会执行
        zichan=input(请输入您的资产:)        #用户输入他的总资产
        if not zichan.isdigit():    #判断用户输入的是不是数字,如果不是输出请输入数字
            print(请输入数字。)
        else:           #如果是数字将其转换成int类型并将zhuangtai变量定义成False,while不会再循环。
            zichan=int(zichan)
            zhuangtai=False
    while True:   #while死循环,但我们在里面使用的break退出
        for k,v in enumerate(gouwu,1):      #输出字典中并加上序号
            print(k,v)
        print(len(gouwu)+1,充值金额与查看剩余资产,)          #在输出完之后我自己定义的显示
        print(len(gouwu)+2,查看购物车)          #我自己定义的显示
        print(len(gouwu)+3,退出)          #我自己定义的显示
        int_xuaho=input(\033[0;31m请输入要购买的商品序号或输入充值、查看购物车序号:\033[0m)           #提示用户输入对应的序号来操作
        if not int_xuaho.isdigit():     #判断用户是不是输入的数字,如果不是提示请输入数字并从新执行while循环
            print(请输入数字。)
            continue
        elif int(int_xuaho) == len(gouwu)+1:        #用户输入的数字将输入的数字转换成int(整型),看看是否超出了总商品的数量
            while True:
                print(如需退出输入exit,剩余资产,zichan)          #输入我自定义的提示,并输出剩余资产
                chongzhi=input(请输入充值金额:)      #等待用户输入需要充值的金额
                if not chongzhi.isdigit():      #判断用户输入的不是数字
                    if chongzhi == exit:      #判断用户输入的是exit然后break退出充值页面
                        break
                    else:       #用户输入其他的提示用户请正确输入,并暂停1.5秒
                        print(请正确输入!)
                        time.sleep(1.5)
                        print(-------------------------------------------------------------------------------)            #自定义输出
                else:       #判断用户输入的是数字
                    zichan+=int(chongzhi)           #将用户输入的数字转换成int(整型)
                    print(充值成功!)          #定义输入充值成功
                    print(现在剩余资产,zichan)      #定义输出剩余资产
                    time.sleep(1.5)         #暂停1.5秒
                    print(-------------------------------------------------------------------------------)            #自定义输出
                    break       #跳出充值页面
        elif int(int_xuaho) == len(gouwu)+2:        #判断用户输入的数字为商品数量总长度+2
            print(-------------------------------------------------------------------------------)            #自定义输出
            while True:         #进入死循环
                print(购物车内的商品:,gouwuche)         #输出用户当前购物车的情况
                print(删除购物车商品请输入del)            #自定义输出
                print(去往上一层请输入exit)            #自定义输出
                ex_it=input(请输入接下来的操作>>>>>)          #在输出完之后让用户输入接下来的操作
                if ex_it == exit :            #判断用户输入exit跳出当前这个while死循环
                    break
                elif ex_it == del:            #判断用户输入del进入移除物品页面
                    print(-------------------------------------------------------------------------------)            #自定义输出
                    while True:
                        for i2,i3 in enumerate(gouwuche,1):     #循环输出购物车物品,并加上序号从1开始
                            print(i2,i3)
                        if biaoshis in dir():     #判断是否有这个变量有的话删除
                            del biaoshis
                        delgouwu=input(请输入需要移除购物车的商品序号,可以移除多个请以空格分隔,去网上一层请输入exit>>>>)     #等待用户输入要移除的商品序号或者输入exit跳往上一层
                        if delgouwu == exit:      #判断用户输入的是exit跳出当前while循环
                            break
                        for i4 in delgouwu:         #循环用户输入的数字
                            if i4 ==  :       #遇到循环的空格后跳出该次循环进行下一次循环
                                continue
                            elif not i4.isdigit():  #判断用户输入的不是数字,提示请正确输入,并从新循环
                                print(请正确输入!)
                                time.sleep(1)
                                print(-------------------------------------------------------------------------------)            #自定义输出
                                break
                            if biaoshis in dir():     #判断biaoshis变量是否存在,存在的话将每一次进来的值减去循环删除次数
                                i4=int(i4)-biaoshis
                            if int(i4) > len(gouwuche):    #判断用户输入的大于当前购物车内商品的序号,并从新循环
                                print(您输入的数值过大!)
                                print(-------------------------------------------------------------------------------)            #自定义输出
                                time.sleep(1)
                                break
                            elif int(i4) <= 0 :         #判断用户输入的小于当前购物车内商品的序号,并从新循环
                                print(您输入的数值过小!)
                                print(-------------------------------------------------------------------------------)            #自定义输出
                                time.sleep(1)
                                break
                            else:           #删除选择的购物车内的商品并呗biaoshis变量+1或定义biaoshis变量
                                biaoshis=+1
                                print(移除成功!,gouwuche[int(i4)-1])
                                del gouwuche[int(i4)-1]
                        time.sleep(1)
                        print(-------------------------------------------------------------------------------)            #自定义输出
                else:           #否则用户用户输入的有误,请重新输入,并重新执行当前的while循环
                    print(输入有误,请重新输入)             #当用户输入的不是exit、del提示用户输入有误。
                    continue
        elif int(int_xuaho) == len(gouwu)+3:   #判断用户输入的数字为商品数量总长度+2,退出程序
            break
        elif zichan >= gouwu[int(int_xuaho)-1][价格]:   #判断用户当前的资产大于等于物品的价格
            gouwuche.append(gouwu[int(int_xuaho)-1][商品名])             #将用户选择的物品添加进购物车列表内
            zichan-=gouwu[int(int_xuaho)-1][价格]           #将总资产减去购买物品的价格
            print(购买成功!)          #提示购买成功
            time.sleep(2)                   #暂停2秒
            print(-------------------------------------------------------------------------------)            #自定义输出
            continue        #重新进入当前循环
        else:           #其他的判断为用户输入的物品价格高于他当前拥有的资产提示金额不足。
            print(金额不足,请及时充值。)
            time.sleep(1.5)             #暂停1.5秒
            print(-------------------------------------------------------------------------------)            #自定义输出
            continue                #重新进入当前循环
    
    
    
    执行结果:
    请输入您的资产:12312
    1 {商品名: 电脑, 价格: 1999}
    2 {商品名: 鼠标, 价格: 10}
    3 {商品名: 游艇, 价格: 20}
    4 {商品名: 美女, 价格: 998}
    5 充值金额与查看剩余资产
    6 查看购物车
    7 退出
    请输入要购买的商品序号或输入充值、查看购物车序号:1
    购买成功!
    -------------------------------------------------------------------------------
    1 {商品名: 电脑, 价格: 1999}
    2 {商品名: 鼠标, 价格: 10}
    3 {商品名: 游艇, 价格: 20}
    4 {商品名: 美女, 价格: 998}
    5 充值金额与查看剩余资产
    6 查看购物车
    7 退出
    请输入要购买的商品序号或输入充值、查看购物车序号:5
    如需退出输入exit 剩余资产 10313
    请输入充值金额:1
    充值成功!
    现在剩余资产 10314
    -------------------------------------------------------------------------------
    1 {商品名: 电脑, 价格: 1999}
    2 {商品名: 鼠标, 价格: 10}
    3 {商品名: 游艇, 价格: 20}
    4 {商品名: 美女, 价格: 998}
    5 充值金额与查看剩余资产
    6 查看购物车
    7 退出
    请输入要购买的商品序号或输入充值、查看购物车序号:6
    -------------------------------------------------------------------------------
    购物车内的商品: [电脑]
    删除购物车商品请输入del
    去往上一层请输入exit
    请输入接下来的操作>>>>>del
    -------------------------------------------------------------------------------
    1 电脑
    请输入需要移除购物车的商品序号,可以移除多个请以空格分隔,去网上一层请输入exit>>>>1
    移除成功! 电脑
    -------------------------------------------------------------------------------
    请输入需要移除购物车的商品序号,可以移除多个请以空格分隔,去网上一层请输入exit>>>>exit
    购物车内的商品: []
    删除购物车商品请输入del
    去往上一层请输入exit
    请输入接下来的操作>>>>>exit
    1 {商品名: 电脑, 价格: 1999}
    2 {商品名: 鼠标, 价格: 10}
    3 {商品名: 游艇, 价格: 20}
    4 {商品名: 美女, 价格: 998}
    5 充值金额与查看剩余资产
    6 查看购物车
    7 退出
    作业四

     

  5. 练习五

Python开发Day2(练习解答)

标签:

原文地址:http://www.cnblogs.com/WuYongQi/p/5452784.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!