Python学习:购物程序

发布时间:2019-08-01 17:27:37编辑:auto阅读(1504)


    一.脚本要求

    • 启动程序后,让用户输入工资,然后打印商品列表;

    • 允许用户根据商品的编号购买商品;

    • 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒;

    • 结算购物车,打印已购买商品和余额;

    • 可随时退出程序;

    二.涉及Python知识点

    • 注释

    • 变量

    • 用户输入

    • 列表(list)

    • 元组(tuple)

    • 数值运算

    • IF流程语句

    • WHILE循环语句

    • FOR循环语句

    三.脚本

    #!/usr/bin/env python3
    #Author=Guoxh
    menu=[
        ('Iphone 7',6300),
        ('MacBookPro',12000),
        ('机械键盘',380),
        ('Python 教程',80),
        ('电磁炉',650)]
    ps='''
    PS: 输入编号将商品加入购物车;
        输入q或quit退出购物程序;
        输入w或W结算购物车(显示已经购买的商品和余额);
    '''
    shoppingcart=[]
    salary=input('请输入您的工资总额:')
    if salary.isdigit():
        salary=int(salary)
    print("--------Shopping List------")
    for q in menu:
        print(menu.index(q),q)
    print(ps)
    while True:
        choice=input('请选择您要购买的商品编号:')
        if choice.isdigit():
            choice=int(choice)
            if choice< len(menu):
                if menu[choice][1] < salary:
                    shoppingcart.append(menu[choice])
                    salary=salary-menu[choice][1]
                    print("您已经将",menu[choice][0],"加入购物车,您的余额为:",salary)
                else:
                    print("您的余额为:",salary,",买不起:",menu[choice][0])
            else:
                print("您输入的商品不存在,请重新输入.......")
                continue
        elif choice == 'W' or choice == 'w':
            if shoppingcart:
                print("您已经购买的商品:")
                print("---------------")
                for i in shoppingcart:
                    print(i[0])
                print("---------------")
                print(">>>您现在总共剩余:",salary)
                break
        elif choice == 'q' or choice == 'quit':
                print("您已退出购物程序,本次没有购买任何商品,欢迎再次光临!")
                break
        else:
            print("您输入的商品不存在,请重新输入!")

    四.测试脚本

    请输入您的工资总额:10000
    --------Shopping List------
    0 ('Iphone 7', 6300)
    1 ('MacBookPro', 12000)
    2 ('机械键盘', 380)
    3 ('Python 教程', 80)
    4 ('电磁炉', 650)
    
    PS: 输入编号将商品加入购物车;
        输入q或quit退出购物程序;
        输入w或W结算购物车(显示已经购买的商品和余额);
    
    请选择您要购买的商品编号:0
    您已经将 Iphone 7 加入购物车,您的余额为: 3700
    请选择您要购买的商品编号:2
    您已经将 机械键盘 加入购物车,您的余额为: 3320
    请选择您要购买的商品编号:1
    您的余额为: 3320 ,买不起: MacBookPro
    请选择您要购买的商品编号:3
    您已经将 Python 教程 加入购物车,您的余额为: 3240
    请选择您要购买的商品编号:4
    您已经将 电磁炉 加入购物车,您的余额为: 2590
    请选择您要购买的商品编号:5
    您输入的商品不存在,请重新输入.......
    请选择您要购买的商品编号:w
    您已经购买的商品:
    ---------------
    Iphone 7
    机械键盘
    Python 教程
    电磁炉
    ---------------
    >>>您现在总共剩余: 2590




关键字