zoukankan      html  css  js  c++  java
  • 同学满分代码,购物车。

    同学代码,购物车。

     

    #!/usr/bin/env python
    __author__ = 'liudong'
    #定义空的购物列表:
    cart = []
    #查询用户余额
    import os,sys
    def money():
        filename = sys.path[0]+'/money.txt'
        if os.path.exists(filename):
            m = open('./money.txt','r')
            mon = m.readline()
            m.close()
            mon = int(mon)
            return mon
        else:
            exitt = False
            while not exitt:
                aa = input("33[31m请输入你的工资: 33[0m").strip()
                if aa.isdigit():
                    mon = int(aa)
                    exitt = True
                else:
                    print ("请输入正确的数字。。")
            return mon
    #保存用户输入的余额
    def free_money(x):
        a = open('./money.txt','w')
        a.write('%s'%x)
        a.close()
    #定义余额变量
    wage = money()
    wage1 = wage #定义总余额
    shoping_money3 = 0 #定义用户总共消费
    #定义商品列表:
    shop = [
        ["Condoms",100],
        ["pill",99],
        ["girlfriend",1],
        ["mac book",8888],
        ["apple",5],
        ["乐视1S",1099]
    ]
    #循环显示购物信息:
    
    while True:
        #打印出商品列表和价格:
        print('33[32m欢迎光临33[37m'.center(50,'-'))
        print('33[32m商品列表33[37m'.center(50,'-'))
        for index,p in enumerate(shop):
            print (index,p[0],p[1])
        #获取用户输入:
        shoping = input("请输入商品编号,结算请输入33[32mall33[37m,显示购物车请输入:33[32mlist33[37m,显示余额请输入:33[32mfree33[37m : ").strip()
        #判断用户输入是否合法
        if shoping.isdigit():
            shoping = int(shoping)
            if len(shop) < shoping:
                print ('33[31m你输入的产品号不存在,请重新选择商品号!33[37m')
                continue
            shoping_money = shop[shoping][1]
            if shoping_money < wage: #判断用户是否可以购买
                while True:
                    num = input("请输入购买数量: ").strip()
                    if not num.isdigit():
                        print ("33[31m请正确输入商品数量。。33[0m")
                    else:
                        num = int(num)
                        if num == 0:
                            break
                        else:
                            shoping_money2 = shoping_money * num #判断商品数量的价钱
                            if shoping_money2 < wage:   #判断用户是否可以购买
                                cart.append(shop[shoping][0])  #把商品名称添加到购物车
                                cart.append(num)    #把商品数量添加到购物车
                                print ("33[31m您的商品已经加入购物车 %s 数量:%s 33[0m"%(shop[shoping][0],num))
                                wage = wage - shoping_money2   #算出用户剩余金额
                                shoping_money3 +=shoping_money2   #算出用户总消费金额
                                break
                            else:
                                print ("33[31m你的工资买不起%s个%s 33[0m"%(num,shop[shoping][0]))
                                break
            elif shoping_money > wage: #商品不能购买的提示
                print ("33[31m你的工资还买不起此商品: %s33[0m" %shop[shoping][0])
            else:   #商品不能购买的提示
                print ("33[31m你的工资太少了,还是去努力赚钱吧。。33[0m")
                break
        elif shoping == "list":  #显示购物列表
            print ("33[31m----------shopping list----------33[0m")
            num = 0
            aa = len(cart)
            bb = int(aa / 2)
            for x in range(bb):
                print (cart[num],"33[31m数量:33[0m",cart[num+1])
                num+=2
            print ("33[31m---------------------------------33[0m")
        elif shoping == "free":   #显示剩余金额
            if not len(cart):
                print ("33[31m你还没有购物,剩余:%s33[0m" %wage)
            else:
                print ("33[31m你一共花费:%s,剩余:%s33[0m"%(shoping_money3,wage))
        elif shoping == "all": #用户结算
            if not len(cart): #判断购物车是否为空
                print ("33[31m你的购物车为空,不需要结算。。33[0m")
                free_money(wage)
                break
            else: #购物车不为空,显示购物列表和购买商品数量
                print ("33[31m----------shopping list----------33[0m")
                num = 0
                aa = len(cart)
                bb = int(aa / 2)
                for x in range(bb):
                    print (cart[num],"33[31m数量:33[0m",cart[num+1])
                    num+=2
                print ("33[31m---------------------------------33[0m")
                gm = input("33[31m是否确认购买:Y or N  33[0m ").strip()   #判断用户是否购买商品
                if gm == "N" or gm == "n":   #用户不购买
                    print ("你没有购买任何商品,剩余:33[31m%s33[0m"%wage1)
                    free_money(wage1)
                    break
                elif gm == "y" or gm == "Y":   #用户购买
                    print ("你一共花费33[31m%s33[0m还剩下33[31m%s33[0m"%(shoping_money3,wage))
                    free_money(wage)
                    break
                else:  #错误输入,默认用户不购买
                    print ("你输入的不正确,没有购买任何商品,剩余:33[31m%s33[0m"%wage1)
                    free_money(wage1)
                    break
    View Code

     22222222222

     1 import random
     2 shopping_list = []
     3 shop_list = []
     4 add = []
     5 p = []
     6 condition = True
     7 identity_input = input(
     8                         "1. 用户
    "
     9                         "2. 商家
    "
    10                         "请选择对应身份序号[1|2]:")
    11 if str.isdigit(identity_input):
    12     identity_input = int(identity_input)
    13     if identity_input == 1:
    14         money_input = input("欢迎用户访问,输入购物金额:")
    15         if money_input.isdigit():
    16             money_input = int(money_input)
    17             with open("shoplist.txt", encoding='utf-8') as file:
    18                 for list in file:
    19                     shop_list.append((list.strip().split()[0], list.strip().split()[1]))
    20                 while condition:
    21                     for index, i in enumerate(shop_list):
    22                         print((index+1), i)
    23                     choice = input("请输入选择的商品序号,选择完毕q退出:")
    24                     if choice.isdigit():
    25                         choice = int(choice)
    26                         if choice <= len(shop_list) and choice >= 0:
    27                             p = shop_list[choice-1]
    28                             a = int(p[1])
    29                             if a <= money_input: #买的起
    30                                 shopping_list.append(p)
    31                                 money_input -= a
    32                                 print("增加了%s商品,你的钱剩余%s" % (p, money_input))
    33                             else:
    34                                 print("余额不足,请重新选择,按q退出")
    35                         else:
    36                                 print ("商品%s不存在" % choice)
    37                     elif choice == 'q':
    38                             print("--------已购商品列表--------")
    39                             for w in shopping_list:
    40                                 print(w)
    41                             print("余额为%s" % money_input)
    42                             exit()
    43     elif identity_input == 2:
    44         print("欢迎商家访问:")
    45         with open("shoplist.txt", encoding='utf-8') as file:
    46             for list in file:
    47                 shop_list.append((list.strip().split()[0], list.strip().split()[1]))
    48             while True:
    49                 for index, i in enumerate(shop_list):
    50                     print((index+1), i)
    51                 business_input = input(
    52                                         "1.删除
    "
    53                                         "2.添加
    "
    54                                         "按q退出
    "
    55                                       "请选择删除还是添加1|2:")
    56                 if str.isdigit(business_input):
    57                     business_input = int(business_input)
    58                     if business_input == 1:
    59                         business_choice = int(input("请输入要删除的商品序号:"))
    60                         del shop_list[business_choice-1]
    61                         c = 0
    62                         with open('shoplist.txt', 'w', encoding='utf-8') as d:
    63                             while c < len(shop_list):
    64                                 d.write(shop_list[c][0])
    65                                 d.write(' ')
    66                                 d.write(shop_list[c][1])
    67                                 d.write('
    ')
    68                                 c += 1
    69                     elif business_input == 2:
    70                         business_choice1 = input("请输入要添加的商品名称:")
    71                         business_choice2 = input("请输入要添加的商品价格:")
    72                         add.append(business_choice1)
    73                         add.append(business_choice2)
    74                         shop_list.append(add[-2:])
    75                         with open('shoplist.txt', 'a', encoding='utf-8') as f:
    76                             f.write(business_choice1)
    77                             f.write(' ')
    78                             f.write(business_choice2)
    79                             f.write('
    ')
    80                     else:
    81                         print("请输入正确的序号!!!!!!!!!!!!!!!!!!!!!!")
    82                 elif business_input == 'q':
    83                     print("正在退出。。。 。。。")
    84                     exit()
    85     else:
    86         print("身份输入错误,程序退出。。。 。。。")
    87 else:
    88     print("输入错误,没有输入的身份序号。")

  • 相关阅读:
    每天一道LeetCode--141.Linked List Cycle(链表环问题)
    每天一道LeetCode--119.Pascal's Triangle II(杨辉三角)
    每天一道LeetCode--118. Pascal's Triangle(杨辉三角)
    CF1277D Let's Play the Words?
    CF1281B Azamon Web Services
    CF1197D Yet Another Subarray Problem
    CF1237D Balanced Playlist
    CF1239A Ivan the Fool and the Probability Theory
    CF1223D Sequence Sorting
    CF1228D Complete Tripartite
  • 原文地址:https://www.cnblogs.com/dcc001/p/5743407.html
Copyright © 2011-2022 走看看