Python程序编写购物小程序

购物车要求:

       用户名和密码存放于文件中
       启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序
       允许用户根据商品编号购买商品
       用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
       可随时退出,退出时,打印已购买商品和余额
#!/usr/bin/env python
# -*- coding: utf-8 -*-

‘‘‘
用户名和密码存放于文件中
启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序
允许用户根据商品编号购买商品
用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
可随时退出,退出时,打印已购买商品和余额
‘‘‘

product_dic = { 1:[‘Iphone7‘,5800],
                2:[‘Coffee‘,30],
                3:[‘疙瘩汤‘,10],
                4:[‘Python Book‘,99],
                5:[‘Bike‘,199],
                6:[‘ViVo X9‘,2499],
}

shop_list=[]
shop_dic={}
def shop():
    Tag=True
    remain_Balance = Balance
    print("开始购物".center(30,"="))
    for key,value in product_dic.items():
        print(key,value)
    while Tag:
        serial_number=input("输入你要购买商品的编号>>:").strip()
        if serial_number.isdigit():
            serial_number = int(serial_number)
            if serial_number > 6:
                print("请输入1-6")
                continue
        elif serial_number == "q":
            print("开始结算".center(20,"="))
            for list in shop_list:
                product_name = list[0]
                product_price = list[1]
                shop_dic.setdefault(product_name, {})
                shop_dic[product_name].setdefault("number", 0)
                shop_dic[product_name].setdefault("total", 0)
                shop_dic[product_name]["price"] = product_price
                if product_name in shop_dic:
                    shop_dic[product_name]["number"] += 1
                shop_dic[product_name]["total"] = shop_dic[product_name]["price"] * shop_dic[product_name]["number"]
            # 总价
            total = 0
            for product in shop_dic:
                print(product.center(7),str(shop_dic[product]["number"]).center(7),str(shop_dic[product]["total"]).center(5))
                total = total + shop_dic[product]["total"]
            # if total > Balance:
            #     print("余额不足购买这么多")
            break
        elif serial_number == "exit":
            print("直接退出")
        else:
            continue
        print("你要购买的商品编号{},商品{},价格{}".format(serial_number,product_dic.get(serial_number)[0],product_dic.get(serial_number)[1]))
        yes_no=input("输入y/n,确定加入购物车>>:")
        if yes_no == "y" :
            if product_dic.get(serial_number)[1] > remain_Balance:
                print("您的余额不够.无法加入到购物车,还差{}".format(product_dic.get(serial_number)[1]-remain_Balance))
            else:
                shop_list.append(product_dic.get(serial_number))
                remain_Balance = remain_Balance - product_dic.get(serial_number)[1]
                print(shop_list,remain_Balance)
            continue
        elif yes_no == "n":
            print(shop_list)
            pass
            continue
        elif yes_no == "exit":
            break
        else:
            print("非法输入,请输入y或者n")
            continue

user_info={}
while True:
    print(‘‘‘购物车小程序:
    1、购物
    2、注册账号
    输入q退出
    ‘‘‘)
    option=input("your option>>:").strip()
    if not option.isdigit():
        print("input 1 or 2\n")
        continue
    option=int(option)
    if option > 2:
        print("input 1 or 2\n")
        continue

    if option == 1:
        Tag=True
        count=0
        while Tag:
            input_user = input("your name>>:").strip()
            with open("user.txt", encoding="utf-8", mode="r") as read_f:
                for line in read_f:
                    line=line.strip("\n")
                    User=line.split(",")[0]
                    Password=line.split(",")[1]
                    Balance=line.split(",")[2]
                    if input_user == User:
                        user_info.setdefault(User,{})
                        user_info[User].setdefault("count",0)
                        user_info[User]["Password"]=Password
                        user_info[User]["Balance"]=Balance
                        if user_info[User]["count"] >= 3:
                            print("%s用户锁定" %(input_user))
                            Tag=False
                        break
                else:
                    print("{}用户不存在".format(input_user))
                    continue
                if Tag:
                    input_password = input("your password>>:")
                    if input_password == user_info[input_user]["Password"]:
                        print("{}用户密码登陆正确".format(input_user))
                        print("用户:{},余额:{}".format(User, user_info[User]["Balance"]))
                        ‘‘‘
                        这时候才开始购物
                        ‘‘‘
                        Balance=int(Balance)
                        shop()
                        break
                    else:
                        user_info[input_user]["count"]+=1
                        print("{}用户密码登陆错误,还有{}尝试机会".format(input_user, 3 - user_info[input_user]["count"]))

  

原文地址:https://www.cnblogs.com/so-cool/p/8808983.html

时间: 2024-10-09 21:07:25

Python程序编写购物小程序的相关文章

python 3.5 购物小程序

1 #!/usr/bin/env python 2 #encoding: utf-8 3 import time 4 import os 5 6 nowtime = time.strftime('%Y-%m-%d %H:%M:%S') 7 shopping_total_money = 0 8 shopping_car = {} 9 10 11 def touch_shopping_log(): 12 with open('shopping_log.txt', 'w') as shopping_l

python学习day4--python基础--购物小程序

'''购物小程序:用户启动时先输入工资用户启动程序后打印商品列表允许用户选择购买商品允许用户不断购买各种商品购买时检测余额是否够,如果够直接扣款,否则打印余额不足允许用户主动退出程序,退出时打印已购商品列表'''salary=input("input you salary:")if salary.isdigit(): salary=int(salary)else: exit("invalid data type.....")welcome_msg='welcome

利用列表的知识写一个购物小程序

利用列表,写一个购物小程序,实现显示商品,显示余额,显示购物车的商品,可以随时退出. 1 product_list = [ 2 ('Mac', 9000), 3 ('Kindle', 800), 4 ('tesla', 900000), 5 ('python book', 105), 6 ('bike', 2000), 7 ] 8 9 saving = input('please input your money:') 10 shopping_car = [] 11 if saving.isdi

java-第四章-机票价格受到淡季旺季的影响,编写的小程序

import java.util.Scanner; public class A02 { /**  * @param args  */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new  Scanner (System.in); System.out.println("请输入月份:1~12"); int choice=input.nextInt(

高效编写微信小程序

原文:https://isux.tencent.com/high-performance-wechat-app-development.html 前言 微信小程序是一个工程,就和盖房子一样,打好了地基,才能保证后续工程师建立在可靠牢固的基础上. 笔者需要经常新建项目,每次都要重复"修改项目结构 -> 从老项目中复制粘贴文件 -> 删除一些老项目中代码"这样的过程,实在是-费心费力. 另一个痛点是:每次新建小程序页面要生成三个文件名相同的文件 ( .wxml..wxss 和

超多慕课网实战教程破解自学教程百度云盘分享-Python/Java/前端后端/小程序/运维测试/人工智能

以下课程,需要的可以加我微*信:hgh813210,备注你需要的课程 Java企业级电商项目架构演进之路 Tomcat集群与Redis分布式百度云实战分享 前端成长必经之路 基于Storm构建实时热力分布项目实战 Spark Streaming实时流处理项目实战 以慕课网日志分析为例 进入大数据 Spark SQL 的世界 手工测试企业项目实践及面试提升 Webpack + React全栈工程架构项目实战精讲 深度学习之神经网络核心原理与算法 Android应用发展趋势必备武器 热修复与插件化

Python Flask构建微信小程序订餐系统

call--->q-2304636824-q 第1章 <Python Flask构建微信小程序订餐系统>课程简介 本章内容会带领大家通览整体架构,功能模块,及学习建议.让大家在一个清晰的开发思路下,进行后续的学习.同时领着大家登陆https://food.54php.cn(使用微信扫码二维码体验下哦横须)一起来演示一下项目.本次课程是严格按照商业系统进行架构开发的,从PC管理员端到小程序会员端,从项目搭建到部署上线,通俗易懂.... 1-1 导学--Python Flask 构建微信小程

微信小程序-整理各种小程序源码和资料免费下载

微信小程序整理下载 [小程序源码]微信小程序-车源宝微信版 [小程序源码]小程序-微赞社区(论坛demo) [小程序源码]微信小程序-收支账单 [小程序工具]微信小程序-日历 [小程序源码]小程序-在线聊天功能 [小程序源码]微信小程序-大好商城(新增功能天气查询和2048游戏) [小程序源码]微信小程序-查询号码归属地 [小程序源码]微信小程序-备忘录2 [小程序源码]微信小程序-QQ音乐 [小程序源码]小程序-货币汇率 [小程序源码]微信小程序-大学图书馆 [小程序源码]小程序-积分商城 [

微信小程序_微信小程序开发,小程序源码、案例、教程

原文地址:http://whosmall.com/?post=448 本文标签: 微信小程序 小程序源码案例 小程序项目 小程序源码 微信小程序教程 什么是微信小程序? 微信小程序是微信基于微信平台的一个应用发布平台,微信小程序app开发属于原生app组件提供js接口的开发方式,比混合是app的用户体验更好,仅次于原生应用. 不过微信小程序定位于小,要符合轻量易用无需下载,所以从体积上也是有限制,整个小程序应用体积不能超过1M. 微信小程序的应用场景? 微信小程序的应用场景适用于轻量应用,非强交