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. 同sql server不同database间的数据访问

    虽未经测试,但是应该是登陆名同时具有此2数据库访问权限啦. select * from [basename].dbo.[tablename] done.

  2. Python使用pycharm导入pymysql

    file->setting->project->project interperter,双击右侧出现的pip,弹出安装包,搜索pymysql->选择第一个->Instal ...

  3. SQLite基础-2.PyCharm+Database_Navigator

    目录 一.PyCharm + Database Navigator插件 二.SQLite Expert – Personal Edition 三.SQLite Administrator 一.PyCh ...

  4. jpa报错 Unable to acquire a connection from driver [null], user [null] and URL [null]

    jpa报错 Unable to acquire a connection from driver [null], user [null] and URL [null] 为啥报错 因为你在persist ...

  5. SQL之事务

    ●事务的ACID(acid)属性 ➢1.原子性(Atomicity ) 原子性是指事务是-一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生. ➢2. 一致性(Consistency) 事务 ...

  6. # Doing homework again(贪心)

    # Doing homework again(贪心) 题目链接:Click here~~ 题意: 有 n 门作业,每门作业都有自己的截止期限,当超过截止期限还没有完成作业,就会扣掉相应的分数.问如何才 ...

  7. [BZOJ1576] [BZOJ3694] [USACO2009Jan] 安全路径(最短路径+树链剖分)

    [BZOJ1576] [BZOJ3694] [USACO2009Jan] 安全路径(最短路径+树链剖分) 题面 BZOJ1576和BZOJ3694几乎一模一样,只是BZOJ3694直接给出了最短路树 ...

  8. Java8 parallelStream浅析

    JAVA8中引入了lamda表达式和Stream接口.其丰富的API及强大的表达能力极大的简化代码,提升了效率,同时还通过parallelStream提供并发操作的支持,本文探讨parallelStr ...

  9. Redis windows服务器配置可远程连接

    Redis配置远程可访问:修改redis.conf或redis.windows-service.conf配置文件. 具体通过 1:将绑定的本机给注释掉,找到这行 bind 127.0.0.1,然后在前 ...

  10. 第一个SpringMVC应用流程总结