zoukankan      html  css  js  c++  java
  • python 购物车小程序

    python 购物车小程序

    功能要求:
    1、启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表
    2、允许用户根据商品编号购买商品
    3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
    4、可随时退出,退出时,打印已购买商品和余额
    5、在用户使用过程中,
    关键输出,如余额,商品已加入购物车等消息,需高亮显示

    一、思路导图

    二、代码实现

     1 #!/usr/bin/env python3
     2 # -*- coding:utf-8 -*-
     3 # Author: davie
     4 """
     5 功能要求:
     6 1、启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表
     7 2、允许用户根据商品编号购买商品
     8 3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
     9 4、可随时退出,退出时,打印已购买商品和余额
    10 5、在用户使用过程中,
    11 关键输出,如余额,商品已加入购物车等消息,需高亮显示
    12 """
    13 product_list = [
    14 {"name":"电脑","price": 1999},
    15 {"name":"鼠标","price": 10},
    16 {"name":"游艇","price": 20},
    17 {"name":"美女","price": 998},
    18 {"name":"watch","price":10600},
    19 {"name":"iphone","price":8800},
    20 {"name":"mac pro","price":14000}
    21 ]
    22 shopping_list = []
    23 username = 'davie'
    24 password= 'davie123'
    25 user_info = {"username":"davie","password":"davie123","salary":30000}
    26 print("----------欢迎登陆----------")
    27 _username = input("请输入您的用户名: ").strip()
    28 _password = input("请输入您的密码: ").strip()
    29 if _username == user_info["username"] and _password == user_info["password"]:
    30     salary = input("请输入你的薪资: ").strip()
    31     if salary.isdigit():
    32         salary = int(salary)
    33         while True:
    34             print("---------商品列表--开始------------")
    35             for idx, item in enumerate(product_list):
    36                 print(idx, item)
    37             print("---------商品列表--结束------------")
    38             user_choice = input("请输入选择商品编号,输入q退出: ")
    39             if user_choice.isdigit():
    40                 user_choice = int(user_choice)
    41                 if user_choice >=0  and user_choice<len(product_list):
    42                     p_item = product_list[user_choice]
    43                     if p_item["price"] <= salary:
    44                         shopping_list.append(p_item)
    45                         salary -= p_item["price"]
    46                         print("已经将%s添加到您的购物车了,你的余额是 33[0;31m%s33[0m元"%(p_item,salary))
    47                     else:
    48                         print("你的余额还剩下: 33[31m%s33[0m元; 无法购买:%s; "%(salary,p_item),'还差: 33[0;31m%s33[0m元'%(p_item["price"]-salary))
    49                 else:
    50                     print("33[31m你选择的商品不存在!33[0m,请重新选择: ")
    51                     if user_choice == "q" or user_choice == "Q":
    52                         print("33[31m你选择了退出...33[0m")
    53                         print("------------33[34m你已经购买了如下商品-开始33[0m-------------")
    54                         for idx, shopping_good in enumerate(shopping_list):
    55                             print(idx, shopping_good)
    56                         print("你当前的余额为:33[36m%s元33[0m" % (salary))
    57                         print("------------33[34m你已经购买了如上商品-结束33[0m-------------")
    58                         exit("已结束...")
    59             elif user_choice == "q" or user_choice == "Q":
    60                 print("33[31m你选择了退出...33[0m")
    61                 print("------------33[34m你已经购买了如下商品-开始33[0m-------------")
    62                 for idx, shopping_good in enumerate(shopping_list):
    63                     print(idx, shopping_good)
    64                 print("你当前的余额为:33[36m%s元33[0m" % (salary))
    65                 print("------------33[34m你已经购买了如上商品-结束33[0m-------------")
    66                 exit("已结束...")
    67             else:
    68                 print("你输入的参数无效,已结束!")
    69                 print("------------33[34m你已经购买了如下商品-开始33[0m-------------")
    70                 for idx, shopping_good in enumerate(shopping_list):
    71                     print(idx, shopping_good)
    72                 print("你当前的余额为:33[36m%s元33[0m" % (salary))
    73                 print("------------33[34m你已经购买了如上商品-结束33[0m-------------")
    74                 break
    75 else:
    76     print("33[0;31m对不起,登陆失败!33[0m")
    View Code
    
    
  • 相关阅读:
    leetcode -- Triangle
    leetcode difficulty and frequency distribution chart
    leetcode -- Sqrt(x)
    leetcode -- Climbing Stairs
    leetcode -- Populating Next Right Pointers in Each Node II
    leetcode -- Populating Next Right Pointers in Each Node
    ThreadLocal
    Thread
    进程或者线程状态
    ThreadGroup
  • 原文地址:https://www.cnblogs.com/bjx2020/p/8644471.html
Copyright © 2011-2022 走看看