day_work_02

------Python是一个优雅的大姐姐

作业一

设计思路(四个if一个while)

  1. 首先我先把商品用列表加元组的形式保存,然后将商品遍历出来。
  2. 键盘输入薪水。
  3. (if)判断输入薪水数据类型是否为数字:是!继续运行;否!打印“输入薪水不为数字!”退出程序。
  4. (while)循环开始
  5. (if)输入商品编号判断是否为数字:是!进行下一步;否则判断是否为q:是!打印购物车商品和余额,退出程序;否!打印“输入错误!”回到第四步。
  6. (if)判断编号是否可以找到对应商品:是!则进行下一步;否!则提示“不存在该商品编号!”回到第四步。
  7. (if)判断余额是否足够购买商品:是!将商品加入购物车,余额减少;否!打印“余额不足!”,返回第四步。

运行代码

# Author:Xiong

product_list=[
    ('iphone6s',5800),
    ('macbook',9000),
    ('coffee',30),
    ('python book',80),
    ('bicyle',1500),

]
shopping_car = []

salary = input('请输入您的薪水:')

for i,v in enumerate(product_list,1):
    print(i,v[0],v[1])

if salary.isdigit():
    save = int(salary)
    while True:
        ch = input('输入您需要购买的商品编号[q退出]')
        if ch.isdigit():
            ch = int(ch)
            if ch>0 and
ch <= len(product_list):
                if product_list[ch-1][1] > save:
                    print('余额不足,',save
- product_list[ch-1][1])
                else:
                    save -=
product_list[ch-1][1]
                    print('购买%s成功!当前余额%d'%(product_list[ch-1],save))
                   
shopping_car.append(product_list[ch-1])
            else:
                print('不存在该商品编号!')
        elif ch == 'q':
            print('购买商品为%s' %
shopping_car)
            print('余额为%d' %
save)
            print('欢迎下次光临!')
            break
        else
:
            print('输入错误!')
else:
   print('输入薪水不为数字!')

运行结果

作业二

设计思路

  1. 创建一个多级字典,输入相应数据。
  2. 设置三个变量,

exit_flag = False:终结循环的标志,本程序未设置退出程序操作。

current_layer = menu:

layers = [menu]:

  1. (while)进入while循环(未设置跳出循环操作)
  2. 遍历并输出字典current_layer中的key值
  3. 键盘输入key值,或者b操作
  4. (if)判断键盘输入的choice是否为‘b’:是!进行返回上一级操作;否!判断是否是字典current_layer中的key值:否!返回本层字典的输入界面;是!进入下一层字典。

运行代码

menu = {
    '北京':{
        '海淀':{
            '五道口':{
                'soho':{},
                '网易':{},
                'google':{}
            },
            '中关村':{
                '爱奇艺':{},
                '汽车之家':{},
                'youku':{},
            },
            '上地':{
                '百度':{},
            },
        },
        '昌平':{
            '沙河':{
                '老男孩':{},
                '北航':{},
            },
            '天通苑':{},
            '回龙观':{},
        },
        '朝阳':{},
        '东城':{},
    },
    '上海':{
        '闵行':{
            "人民广场":{
                '炸鸡店':{}
            }
        },
        '闸北':{
            '火车战':{
                '携程':{}
            }
        },
        '浦东':{},
    },
}

exit_flag = False

current_layer = menu

layers = [menu]

while not 
exit_flag:
    for k in current_layer:
        print(k)
    choice = input(">>(输入b返回上一级):").strip()
    if choice
== "b":
        current_layer = layers[-1]
        layers.pop()
    elif choice
not 
in
current_layer:continue
    else
:
        layers.append(current_layer)
        current_layer =
current_layer[choice]

运行结果

day_work_02的更多相关文章

随机推荐

  1. kafka安装使用配置1.1

    官方文档 rz上传到/usr/local/下 解压 tar xzvf 文件 改名 mv 文件 名字 环境变量 vi /etc/profile export KAFKA_HOME=/usr/local/ ...

  2. 自动化测试_百度--糯米中--携程-出行<一>

    1:接下来我们看看思路  和相应的功能 使用python+selenium+unittest完成测试脚本 打开chrome浏览器,窗口最大化,设置等待时间10s 打开百度首页 鼠标移动到更多产品,点击 ...

  3. 使用Keras基于AdvancedEAST的场景图像文本检测

    Blog:https://blog.csdn.net/linchuhai/article/details/84677249 GitHub:https://github.com/huoyijie/Adv ...

  4. jquery的ajax方法使用application/json出现400错误码的解决方案

    400说明是客户端错误,将contentType默认的application/x-www-form-urlencoded改成application/json就出现错误,说明传输的数据不是JSON. 解 ...

  5. C中的函数指针的用法

    include<stdio.h> typedef int (*Cal)(int a,int b);//定义一个函数指针,第一个int是指向函数的返回值的类型,后面括号里面的两个int是指指 ...

  6. 无障碍开发(三)之ARIA aria-***属性值

    aria-***属性值

  7. Mysql学习(一)之简单介绍

    数据库简介 数据库分类 关系型数据库:MySQL.Oracle.SQLServer.Access.db2.fox pro 文件型数据库:sqlite.mongodb 空间型数据库: 数据库分为两端 数 ...

  8. 使用fiddler进程弱网测试

    使用fiddler手机需调整所连网络代理模式为手动,主机名与端口改为与电脑相同 打开Fiddler,Rules(规则)->Performance(性能)->勾选 Simulate Mode ...

  9. python time,calendar,datetime

    time sleep:休眠指定的秒数(可以是小数) localtime:将一个时间戳转换为time.struct_time类型的对象(类似于元组) # 将一个时间戳转换为一个类似于元组的对象,不指定时 ...

  10. openlayers之地图截图

    方法1 //this.map._this为初始化地图对象 this.map._this.once('postcompose', function (event) { var canvas = even ...