Python开发Day2(练习解答)

  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. 练习五

时间: 2024-10-03 21:41:37

Python开发Day2(练习解答)的相关文章

开源分享:用Python开发的开源博客系统Blog_mini

本博文在51CTO技术博客首发. 开源不易,Python良心之作,真心送给广大朋友,恳请给予支持,不胜感激! 0.Blog_mini送给你们:让每个人都轻松拥有可管理的个人博客 你从未架设过服务器或网站,希望可以接触一下这方面的知识-- 你从未使用过Linux操作系统,希望可以接触一下这方面的知识-- 你是初中生/高中生/大学生,希望能在学业之余锻炼一下自己的IT技能-- 你是Python新手,希望能有一个用Python开发的个人博客-- 你学习Python许久,希望有一个开源的项目可以用来学习

为什么越来越多的企业选择使用Python开发?

近来,Python作为一种功能强大且通用的编程语言而广受好评,它具有非常清晰的语法特点,适用于多种操作系统,目前在国际上非常流行,正在得到越来越多的应用.1.简介    Python,是一种面向对象.直译式的计算机程序语言,具有近二十年的发展历史.它包含了一组功能完备的标准库,能够轻松完成很多常见的任务.它的语法简单,与其他大多数程序设计语言使用大括号不同,它使用缩进来定义语句块.    Python支持命令式程序设计.面向对象程序设计.函数式编程.面向侧面的程序设计.范型编程多种编程范式. 2

Windows下Python开发工具推荐

*  如果只是纯Python开发人员,WingIDE 是不二之选. 优点:短小精悍,启动快.调试快.反应快.Auto-completion快. 没有Eclispe的巨大臃肿.反应迟钝.跛脚的调试功能. 快捷键可以在Emacs,VS,Eclipse等之间自己选择. 个人最喜欢的功能是 Debug Probe,简直是交互式开发的利器. Linux和Wingows下都能用,一个安装包搞定. *  如果是Python和C的混合编程,需要进行mixed-mode C/Python debugging, 则

Window上python开发--4.Django的用户登录模块User

在搭建网站和web的应用程序时,用户的登录和管理是几乎是每个网站都必备的.今天主要从一个实例了解以下django本身自带的user模块.本文并不对user进行扩展. 主要使用原生的模块. 1.User模块基础: 在使用user 之前先import到自己的iew中.相当与我们自己写好的models.只不过这个是系统提供的models. from django.contrib.auth.models import User # 导入user模块 1.1User对象属性 User 对象属性:usern

linux 下安装 mysql 并配置 python 开发环境

1.安装 mysql ,安装过程中将提示设置 root 用户的密码,默认可以设置为 rootadmin . $ sudo apt-get install mysql-server 2.安装 mysql 开发工具(不安装时,安装 MySQL-python 提示错误 "mysql_config not found"). $ sudo apt-get install libmysqld-dev 3.安装 python 的 mysql 库 MySQL-python (首先安装 python-d

Python开发【第一篇】:目录

本系列博文改编自武沛齐老师的原创博文,主要包含  Python基础.前端开发.Web框架.缓存以及队列等内容 ,用于学习记录成长!!! Python开发[第一篇]:目录 Python开发[第二篇]:初识Python

Python开发【第二十二篇】:Web框架之Django【进阶】

Python开发[第二十二篇]:Web框架之Django[进阶] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5246483.html 博客园 首页 新随笔 联系 订阅 管理 随笔-124  文章-127  评论-205 Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻

Ruby与Python开发的环境IDE配置(附软件的百度云链接)

Ruby开发环境配置 1.Aptana_RadRails(提示功能不好,开发Ruby不推荐) 链接:http://pan.baidu.com/s/1i5q96K1 密码:yt04 2.Aptana Studio3(非常非常好,Ruby和Python开发首选,,和Eclipse使用基本完全一样,提示功能完爆Eclipse,而且界面非常漂亮) 链接:http://pan.baidu.com/s/1cFQr2u 密码:vfc4 教程地址:http://www.cnblogs.com/lsgwr/p/5

visual studio 2015 搭建python开发环境,python入门到精通[三]

在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo,这里略带一句,其实就"学习python"而言,比较建议使用pycharm,pycharm可以设置VS或者eclipse等多种IDE的编码,可以让绝大部分其他语言使用IDE的习惯者更容易上手.这一点兼容确实做的很好.不过既然这么多园友要求使用vs开发python的话,就介绍一下visual