博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python开发Day02(练习解答)
阅读量:5045 次
发布时间:2019-06-12

本文共 14799 字,大约阅读时间需要 49 分钟。

  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数字是否小于数字6611         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)            #循环出的元素满足要求的进行输出执行结果:alecaricAlexalecaricAlexalexaricAlex
    作业二

     

  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 timegouwu = [    {
    "商品名": "电脑", "价格": 1999}, {
    "商品名": "鼠标", "价格": 10}, {
    "商品名": "游艇", "价格": 20}, {
    "商品名": "美女", "价格": 998},] #定义字典内容zhuangtai=True #定义一个变量为Truegouwuche=[] #定义一个空的列表while zhuangtai: #判断zhuangtai变量是不是为真,如果是就会执行 zichan=input('请输入您的资产:') #用户输入他的总资产 if not zichan.isdigit(): #判断用户输入的是不是数字,如果不是输出请输入数字 print('请输入数字。') else: #如果是数字将其转换成int类型并将zhuangtai变量定义成False,while不会再循环。 zichan=int(zichan) zhuangtai=Falsewhile 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 #重新进入当前循环执行结果:请输入您的资产:123121 {
    '商品名': '电脑', '价格': 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请输入接下来的操作>>>>>exit1 {
    '商品名': '电脑', '价格': 1999}2 {
    '商品名': '鼠标', '价格': 10}3 {
    '商品名': '游艇', '价格': 20}4 {
    '商品名': '美女', '价格': 998}5 充值金额与查看剩余资产6 查看购物车7 退出
    作业四

     

  5. 练习五

    #!/usr/bin/python# -*- coding: utf-8 -*-__author__ = 'WuYongQi'import timedic = {    "河北": {        "石家庄": ["鹿泉", "藁城", "元氏"],        "邯郸": ["永年", "涉县", "磁县"],    },    "北京": {        "昌平区":["回龙观","沙河","朱辛庄"],        "丰台区":["岳各庄","小屯村","郑常庄"]    },    "山西": {        "太原":["小店区","杏花岭区","万柏林区"],        "临汾":["尧都区","襄汾县","浮山县"]    }}           #定义字典list=[]             #定义一个空的列表exit=True           #定义while循环条件while exit:         #while循环exit条件是否满足    for k in dic:           #for循环字典将key取出来        print(k.center(20,'-'))         #显示for循环取出的key并一共占20位空白处以-占满        list.append(k)          #将key存进列表中    print('退出程序请输入exit'.center(20,'-'))         #自定义输出内容一共占20位空白处以-占满    list.append('exit')         #自行往列表中添加exit    shengshi=input('请输入查询的省市>>>')           #等待用户输入查询的省市    if shengshi.isalpha():          #判断用户输入的是不是字符串,如果不是输入请正确输入        if shengshi in list:            #判断用户输入的值在列表中存在,如果不存在输出请正确输入,存在的话会清空列表            if shengshi == 'exit':          #判断用户输入的是exit,退出程序                break            list.clear()            #清空列表            erji=True          ##定义while循环条件            while erji:             #while循环erji条件是否满足                for i in dic[shengshi]:     #for循环取出字典中用户第二次输入的市区                   print(i.center(20,'-'))              #将for循环取出来的元素一共占20位空白处以-占满进行输出                   list.append(i)       #将用户查询的省市追加进列表                print('退出程序请输入exit'.center(20,'-'))                 #自定义输出exit一共占20位空白处以-占满                print('返回上一层使用back'.center(20,'-'))                 #自定义输出back一共占20位空白处以-占满                list.append('exit')             #自行往列表中添加exit                list.append('back')             #自行往列表中添加back                shiqu=input('请输入查询的市区>>>')             #等待用户输入查询的市区                if shiqu.isalpha():          #判断用户第二次输入的是不是字符串,如果不是提示输入请正确输入                    if shiqu in list:           #判断用户第二次输入的值在列表中存在,如果不存在输出请正确输入,存在的话会清空列表                        if shiqu == 'exit':         #判断用户输入的是exit,将第一个while的条件改成False,退出当前循环,退出了整个程序                            exit=False                            break                        elif shiqu == 'back':            #判断用户输入的是back,退出当前循环                            break                        while True:             #定义了一个死循环我是使用break退出                            for i2 in dic[shengshi][shiqu]:          #for循环取出字典中用户第二次输入的省市名,这次取出来的是县、村、区                                print(i2.center(20,'-'))                      #将for循环取出来的元素一共占20位空白处以-占满进行输出                            print('退出程序请输入exit'.center(20,'-'))                 #自定义输出exit一共占20位空白处以-占满                            print('返回上一层使用back'.center(20,'-'))                 #自定义输出bask一共占20位空白处以-占满                            print('返回上一层使用top'.center(20,'-'))                 #自定义输出top一共占20位空白处以-占满                            list.append('exit')             #自行往列表中添加exit                            list.append('back')             #自行往列表中添加back                            list.append('top')             #自行往列表中添加top                            jueding=input('请输入是否退出程序或返回上一层、顶层:')        #等待用户第三次输入选择是退出程序还是?                            if jueding.isalpha():       #判断用户第三次输入的是字符串                                if jueding == 'exit':           #判断用户第三次输入的是exit将exit和erji变量的值改为False,并且退出当前的循环                                    exit=False                                    erji=False                                    break                                elif jueding == 'top':              #判断用户第三次输入的是top,将erji变量的值改为False,并且退出当前循环                                    erji=False                                    break                                elif jueding == 'back':                 #判断用户第三次输入的是back,退出当前循环                                    break                                else:                   #用户输入其他的提示请正确输入,并且暂停一秒                                    print('\033[0;31m请正确输入\033[0m'.center(30,'-'))                                    time.sleep(1)                            else:     #判断用户第三次输入的不是字符串,提示用户请正确输入,并且暂停一秒                                print('\033[0;31m请正确输入\033[0m'.center(30,'-'))                                time.sleep(1)                            continue       #重新循环while循环                    else:           #判断用户第二次输入的值在列表中找不到提示请正确输入,并且暂停一秒                        print('\033[0;31m请正确输入\033[0m'.center(30,'-'))                        time.sleep(1)                else:                   #判断用户第二次输入的不是字符串,提示用户请正确输入,并且暂停一秒后重新循环当前循环                    print('\033[0;31m请正确输入\033[0m'.center(30,'-'))                    time.sleep(1)                    continue        else:           #判断用户第一次输入的值在列表中找不到提示请正确输入,并且暂停一秒            print('\033[0;31m请正确输入\033[0m'.center(30,'-'))            time.sleep(1)    else:        #判断用户第一次输入的不是字符串,提示用户请正确输入,并且暂停一秒        print('\033[0;31m请正确输入\033[0m'.center(30,'-'))        time.sleep(1)执行结果:---------北京------------------河北------------------山西-------------退出程序请输入exit-----请输入查询的省市>>>北京--------丰台区-----------------昌平区-------------退出程序请输入exit---------返回上一层使用back-----请输入查询的市区>>>丰台区--------岳各庄-----------------小屯村-----------------郑常庄-------------退出程序请输入exit---------返回上一层使用back----------返回上一层使用top-----请输入是否退出程序或返回上一层、顶层:back--------丰台区-----------------昌平区-------------退出程序请输入exit---------返回上一层使用back-----请输入查询的市区>>>昌平区--------回龙观------------------沙河-----------------朱辛庄-------------退出程序请输入exit---------返回上一层使用back----------返回上一层使用top-----请输入是否退出程序或返回上一层、顶层:top---------北京------------------河北------------------山西-------------退出程序请输入exit-----请输入查询的省市>>>exit
    作业五

     

转载于:https://www.cnblogs.com/WuYongQi/p/5452784.html

你可能感兴趣的文章
用 Eclipse 开发 Android 应用程序
查看>>
geoserver扫盲 openlayers相关
查看>>
Hibernate入门二
查看>>
ASP.Net中使用XMLDataSource
查看>>
手推C3算法
查看>>
Beta阶段总结
查看>>
嵌入式Linux开发环境搭建,问题ping、nfs的解决
查看>>
iOS之设置头像(访问系统相册、本地上传)
查看>>
iOS之限制TextField的输入长度
查看>>
webapi 安全验证与权限验证
查看>>
tomcat下部署多个项目
查看>>
Docker-Compose
查看>>
Python list知识内容
查看>>
C - A Plug for UNIX - poj 1087(最大流)
查看>>
UNICODE与ANSI的区别
查看>>
代码备份2
查看>>
工作流基本特性及说明
查看>>
高手给菜鸟学习Linux的10个建议
查看>>
洗牌算法Fisher_Yates原理
查看>>
functools 之 partial(偏函数)
查看>>