python3 练习题(购物车)

‘‘‘购物车程序需求:1.启动程序后,让用户输入工资,然后打印商品列表2.允许用户根据商品编号购买商品3.用户选择商品后,检查余额是否够,够就直接扣款,不够就提醒4.用户可一直购买商品,也可随时退出,退出时,打印已购买商品和余额‘‘‘#商品列表products_list = [[‘Iphone8‘, 6888], [‘MacPro‘, 14800], [‘小米6‘, 2499], [‘Coffee‘, 31], [‘Book‘, 80], [‘Nike Shoes‘, 799]]

print("欢迎来到中关村手机城!".center(50, "*"))#充值while True:    salary = input("请输入您的工资: ").strip()    if salary.isdigit():        salary = int(salary)        print("恭喜您充值成功! 您的账号余额为: %d元." % salary)        break    else:        print("输入有误! 请重新输入您正确的工资.")

#总消费金额consume_total = 0#购买商品shopping_cart = {}while True:    #显示商品信息    print("中关村手机城商品信息".center(50, "*"))    print("商品序号\t商品名称\t商品价格")    for ind, products in enumerate(products_list):        print("%d\t\t\t%s\t\t%d" % (ind, products[0], products[1]))    print("Q\t\t\t退出")

    #用户选择商品编号    user_choice = input("请输入您要购买的商品编号: ").strip()    if user_choice.isdigit():        user_choice = int(user_choice)        #添加购物车并结算        if user_choice >= 0 and user_choice < len(products_list):            #余额足            if salary - consume_total - products_list[user_choice][1] >= 0:                shopping_name = products_list[user_choice][0]                shopping_price = products_list[user_choice][1]                #判断商品是否已买过                if user_choice in shopping_cart:                    shopping_cart[user_choice][2] += 1                else:                    shopping_cart[user_choice] = [shopping_name, shopping_price, 1]                consume_total += shopping_price                print("恭喜您!成功购买商品: %s,本次消费: %d元. 总消费: %d元. 账号余额: %d元." % (shopping_name, shopping_price, consume_total, salary - consume_total))            #余额不足            else:                print("余额不足! 已消费: %d元. 账号余额: %d元." % (consume_total, salary - consume_total))        else:            print("商品不存在! 请重新选择.")    elif user_choice.upper() == "Q":        break    else:        print("商品不存在! 请重新选择.")

#判断购物车是否为空if shopping_cart != {}:    print("您已购买的商品信息".center(50, "*"))    print("商品编号\t商品名称\t商品单价\t商品数量")    for id, cars in shopping_cart.items():        print("%d\t\t\t%s\t\t%d\t\t\t%d" % (id, cars[0], cars[1], cars[2]))    print("总消费: %d元, 账号余额: %d 元" % (consume_total, salary - consume_total))

print("欢迎下次光临!".center(50, "*"))

原文地址:https://www.cnblogs.com/lilyxiaoyy/p/10681670.html

时间: 2024-11-02 21:18:51

python3 练习题(购物车)的相关文章

Python3练习题 001:4个数字求不重复的3位数

#Python练习题 001:4个数字求不重复的3位数#方法一import itertoolsres = [][res.append(i[0]*100 + i[1]*10 + i[2]) for i in itertools.permutations(range(1,5),3)]print(res, end = ',') """参考https://www.cnblogs.com/iderek/p/5952126.html""" #方法二for i

【Python3练习题 025】 一个数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同

[Python练习题 025] 一个5位数,判断它是不是回文数.即12321是回文数,个位与万位相同,十位与千位相同 x = input('请输入任意位数的数字:') if x == x[::-1]:     print('%s是个回文数' % x) else:     print('%s不是回文数' % x)   原文地址:https://www.cnblogs.com/jackzz/p/9125539.html

Python3练习题系列(06)——各种符号总结

Python3中的各种符号总结 1关键字 import keyword print(keyword.kwlist, end='\t') ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is',

python3练习题四

循环 题目: 答案: 1 #!/usr/bin/env python3 2 #-*- coding:utf-8 -*- 3 4 L = ['Bart', 'Lisa', 'Adam'] 5 6 for i in L: 7 print('Hello ' + i + '!') 原文地址:https://www.cnblogs.com/yrxns/p/9409705.html

python3 练习题100例 (三)

题目三:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 题目三:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?""" __author__ = 'Fan Lijun' import math for x in range(10000): if math.sqr

python3 练习题100例 (八)

题目八:暂停一秒输出,并格式化当前时间. #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 题目八:暂停一秒输出,并格式化当前时间.""" __author__ = 'Fan Lijun' import time print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))) # 暂停一秒 time.sleep(1)

python3 练习题100例 (十六)鸡尾酒疗法

#!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = 'Fan Lijun' n = input('请输入一个大于1,小于等于20的整数:') lst = [] for i in range(int(n)): z = eval(input('请输入总病例数:')) lst.append(z) y = eval(input('请输入有效病历数:')) lst.append(y) j = lst[1] / lst[0] num = 1

python3 练习题100例 (十八)托儿所问题

#!/usr/bin/env python3 # -*- coding: utf-8 -*- """练习十八:某托儿所有大.中.小三个班级,其儿童月龄分别用如下 三个列表表示: x = [18, 18, 19, 19, 24, 23, 22, 22, 21, 20, 19, 22, 23, 24, 24] y = [25, 28, 30, 29, 28, 27, 27, 25, 26, 25, 26, 27, 24] z = [31, 33, 32, 32, 32, 34,

python3 练习题100例 (十九)

#!/usr/bin/env python3 # -*- coding: utf-8 -*- """练习十九:计算1-2+3...+99中除了88以外所有数的和""" __author__ = 'Fan Lijun' s1 = 0 s2 = 0 for x in range(1, 100, 2): s1 += x for y in range(2, 100, 2): s2 += y print(s1 - s2 + 88) 原文地址:https:/