老男孩Day2作业:购物车程序

作业需求:

用户入口:

1.商品信息存在文件里

2.已购商品,余额记录。第一次启动程序时需要记录工资,第二次启动程序时谈出上次余额

3.允许用户根据商品编号购买商品

4.用户选择商品后,检测是否够,够就直接扣款,不够就提醒

5.可随时退出,退出时,打印移购买商品和余额

商家入口:

1.可以添加商品,修改商品价格1. 运行程序输出第一级菜单

1)编写思路

编写思路参考下面GitHub链接中的流程图

https://github.com/KongChan1988/51CTO-Treasure/blob/master/Python_Study/%E7%AC%AC%E4%B8%80%E6%A8%A1%E5%9D%97%E5%AD%A6%E4%B9%A0/Day02/HomeWork/%E8%B4%AD%E7%89%A9%E8%BD%A6%E6%B5%81%E7%A8%8B%E5%9B%BE.jpg

2)具体实现

买家入口

#-*- Coding:utf-8 -*-
# Author: D.Gray
‘‘‘
购物车需求
    用户入口:
1.商品信息存在文件里
2.已购商品,余额记录。第一次启动程序时需要记录工资,第二次启动程序时谈出上次余额
3.允许用户根据商品编号购买商品
4.用户选择商品后,检测是否够,够就直接扣款,不够就提醒
5.可随时退出,退出时,打印移购买商品和余额
    商家入口:
1.可以添加商品,修改商品价格
‘‘‘
import os,sys

def user_shoping():             #定义一个用户购买商品操作函数
    while True:
        user_salary = input(‘请输入您的充值金额>>>:‘)
        if user_salary.isdigit():           #判断充值金额是否为数字
            user_salary = int(user_salary)
            user_shop_file.write(login_name + ‘\t‘)
            user_shop_file.write(str(user_salary) + ‘\n‘)
            for item in porduct_lists:      #循环遍历商品列表
                print(porduct_lists.index(item), item)      #使用index方法打印列表序号,item为列表元素
                p_index = porduct_lists.index(item)         #定义p_index方法存储列表序号
            while True:
                user_choises = input(‘请选择您所需购买的商品编号>>>:退出请按:Q:‘)
                if user_choises.isdigit():                 #判断用户输入的商品编号是否为数字
                    user_choises = int(user_choises)
                    if user_choises <= p_index and user_choises >= 0:   #用户输入编号小于列表序号
                        p_item = porduct_lists[user_choises]            #定义p_item方法获取用户选择的商品
                        p_item[1] = int(p_item[1])                      #将商品金额强制转换为int类型
                        if user_salary >= p_item[1]:                    #判断用户金额是否买得起商品
                            shop_lists.append(p_item)                   #将已购买的商品信息存储到shop_lists列表中
                            user_salary -= p_item[1]                    #扣除商品金额=还剩余额
                            user_shop_file.write(login_name + ‘\t‘)
                            user_shop_file.write(str(user_salary) + ‘\n‘)   #将用户信息和余额信息写入user_shop文本中
                            print("商品 \033[32;1m%s\033[0m 已加入购物车...您还剩\033[32;1m%s\033[0m余额" % (p_item[0], user_salary))
                        else:
                            print(‘\033[31;1m对不起您的金额不足,请去充值!\033[0m‘)
                            print(‘已购商品清单‘.center(30, ‘*‘))
                            print(shop_lists)
                            sys.exit()
                    else:
                        print(‘\033[31;1m请输入范围内商品编号\033[0m‘)
                elif user_choises == ‘q‘ or user_choises == ‘Q‘:
                    print(‘已购商品清单‘.center(30, ‘*‘))
                    print(shop_lists)
                    sys.exit()
                else:
                    print(‘\033[31;1m请输入有效商品编号\033[0m‘)
        else:
            print(‘\033[31;1m请输入有效充值金额\033[0m‘)
def user_top():             #定义一个用户充值操作函数
    while True:
        user_salary = input(‘请输入您的充值金额>>>:‘)
        if user_salary.isdigit():
            user_salary = int(user_salary)
            user_salary += int(shop[-1])        #用户现有余额=充值金额+上次还剩余额
            user_shop_file.write(shop[0] + ‘\t‘)
            user_shop_file.write(str(user_salary)+‘\n‘)     #将用户名和现有余额(充值完成后还剩余额)写入user_shop文本中
            print(‘您当前余额为:\033[32;1m%s\033[0m‘%user_salary)
            for item in porduct_lists:
                print(porduct_lists.index(item), item)
                p_index = porduct_lists.index(item)
            while True:
                user_choises = input(‘请选择您所需购买的商品编号>>>:退出请按:Q:‘)
                if user_choises.isdigit():
                    user_choises = int(user_choises)
                    if user_choises <= p_index and user_choises >= 0:
                        p_item = porduct_lists[user_choises]
                        if user_salary >= int(p_item[1]):
                            shop_lists.append(p_item)
                            user_salary -= int(p_item[1])
                            user_shop_file.write(shop[0] + ‘\t‘)
                            user_shop_file.write(str(user_salary) + ‘\n‘)
                            print("商品 \033[32;1m%s\033[0m 已加入购物车...您还剩\033[32;1m%s\033[0m余额" % (p_item[0], user_salary))
                        else:
                            print(‘\033[31;1m对不起您的金额不足,请去充值!\033[0m‘)
                            print(‘已购商品清单‘.center(30, ‘*‘))
                            print(shop_lists)
                            sys.exit()
                    else:
                        print(‘\033[31;1m请输入范围内商品编号\033[0m‘)
                elif user_choises == ‘q‘ or user_choises == ‘Q‘:
                    print(‘已购商品清单‘.center(30, ‘*‘))
                    print(shop_lists)
                    sys.exit()
                else:
                    print(‘\033[31;1m请输入有效商品编号\033[0m‘)
        else:
            print(‘\033[31;1m请输入有效充值金额\033[0m‘)
def porduct_shop():         #定义一个读取porduct_shop(商品信息文本)函数
    user_porduct_file = open(‘porduct_shop‘, ‘r+‘, encoding=‘utf-8‘)
    user_porduct_lists = user_porduct_file.readlines()      #以列表形式读取porduct_shop商品信息文本内容
    for user_porduct_list in user_porduct_lists:            #循环遍历user_porduct_lists列表
        porduct_lists.append(user_porduct_list.split())     #将读取内容存储到porduct_lists商品列表中

login_name = ‘‘
shop_lists = []
porduct_lists = []

porduct_shop()                            #调用porduct_shop(读取卖家商品信息)操作函数

user_shop_file = open(‘user_shop‘,‘r+‘)
user_shop_lists = user_shop_file.readlines()
for user_shop_list in user_shop_lists:          #循环遍历user_shop(用户信息及余额)文本内容
    shop = user_shop_list.split()
if len(user_shop_lists) == 0:                   #判断user_shop文本信息内容是否为空
    login_name = input(‘请输入用户名>>>:‘)      #如果为空,则判断为首次登陆,需要填写用户名和密码
    user_info_file = open(‘user_info‘,‘r+‘)
    user_info_lists = user_info_file.readlines()
    for user_info_list in user_info_lists:      #循环遍历user_info(用户信息:用户名和密码)文本内容
        user = user_info_list.split()
        if login_name in user:                  #判断输入的用户名是否存在
            while True:
                login_pwd = input(‘请输入密码>>>:‘)      #判断用户输入密码是否正确
                if login_pwd == user[1]:
                    print(‘欢迎 \033[33;1m%s\033[0m 登录英雄联盟收银台‘ % login_name)   #登陆成功
                    user_shoping()    #调用user_shopping用户购买商品操作函数
                else:
                    print(‘\033[31;1m密码错误请重新输入密码\033[0m‘)
    else:
        sys.exit(‘\033[31;1m用户名不存在\033[31;1m‘)
else:                #用户不是首次登陆操作
    print(‘欢迎 \033[33;1m%s\033[0m 登录英雄联盟收银台,您的余额还剩\033[32;1m%s\033[0m元‘ % (shop[0], shop[-1]))
user_top() #调用 user_top(用户第二次登陆和充值操作)函数

卖家入口

# -*- coding:utf-8 -*-
# Author:D.Gray

seller_shop =  open(‘porduct_shop‘,‘a‘,encoding=‘utf-8‘)
seller_shop.write(‘小学生皮肤‘+‘\t‘)             #卖家添加商品名称
seller_shop.write(‘80‘ + ‘\n‘)                   #卖家添加商品价格信息
seller_shop.flush()

3)Github笔记

第二周的笔记的地址是:

https://github.com/KongChan1988/51CTO-Treasure/tree/master/Python_Study/%E7%AC%AC%E4%B8%80%E6%A8%A1%E5%9D%97%E5%AD%A6%E4%B9%A0/Day02/Practice%20Notes

4)Readme.md文档

https://github.com/KongChan1988/51CTO-Treasure/blob/master/Python_Study/%E7%AC%AC%E4%B8%80%E6%A8%A1%E5%9D%97%E5%AD%A6%E4%B9%A0/Day02/HomeWork/readme.md

时间: 2024-10-12 12:56:12

老男孩Day2作业:购物车程序的相关文章

作业-购物车程序

# 购物车程序:# 1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表# 2.允许用户根据商品编号购买商品# 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒# 4.可随时退出,退出时,打印已购买商品和余额# 5.在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示# 6.用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买# 7.允许查询之前的消费记录 保存用户.密码.余额的文

第二周作业购物车程序

#coding:utf-8 #Author:Mr Zhi file_open = open('购物车用户信息','r+',encoding="utf-8") #购物车用户信息文件保存着用户名密码和余额 f = str(file_open.read()) for line in f: file_str = str(f) file_open_dict = eval(file_str) #转换成字典(文件内容原先是字典) username = input("输入用户名:"

17.python购物车程序作业

购物车程序作业需求: 1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 4.可随时退出,退出时,打印已购买商品和余额 5.在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示 6.用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买 7.允许查询之前的消费记录 代码如下: # Author:pe

Python作业2,购物车程序

程序:购物车程序 需求: 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额 购物车作业代码 1 #Author:abu zhang 2 3 import sys 4 shop_list = [ 5 ("IphoneX",9000), 6 ("mac book",19000), 7 ("IphoneX",9000), 8 (

作业一:购物车程序

1 # 1.三级菜单 2 menu = { 3 '北京':{ 4 '海淀':{ 5 '五道口':{ 6 'soho':{}, 7 '网易':{}, 8 'google':{} 9 }, 10 '中关村':{ 11 '爱奇艺':{}, 12 '汽车之家':{}, 13 'youku':{}, 14 }, 15 '上地':{ 16 '百度':{}, 17 }, 18 }, 19 '昌平':{ 20 '沙河':{ 21 '老男孩':{}, 22 '北航':{}, 23 }, 24 '天通苑':{},

python-三级菜单和购物车程序

readme (1)作业名称:1.三级菜单:2.购物车程序(2)作业需求:A:三级菜单数据结构:menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, 'youku':{}, }, '上地':{ '百度':{}, }, }, '昌平':{ '沙河':{ '老男孩':{}, '北航':{}, }, '天通苑':{}, '回龙观':{}, }, '朝阳':{}, '东

python第七天-作业[购物车]

作业要示: 购物车程序:启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表允许用户根据商品编号购买商品用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买允许查询之前的消费记录 先上一下流程吧! 具体代码还在优化中>>> 完美 主义,伤不起

利用JSP编程技术实现一个简单的购物车程序

实验二   JSP编程 一.实验目的1. 掌握JSP指令的使用方法:2. 掌握JSP动作的使用方法:3. 掌握JSP内置对象的使用方法:4. 掌握JavaBean的编程技术及使用方法:5. 掌握JSP中数据库编程方法: 二.实验要求 : 利用JSP编程技术实现一个简单的购物车程序,具体要求如下. (1)用JSP编写一个登录页面,登录信息中有用户名和密码,分别用两个按钮来提交和重置登录信息. (2)编写一个JSP程序来处理用户提交的登录信息,如果用户名为本小组成员的名字且密码为对应的学号时,采用J

实用的php购物车程序

实用的php教程购物车程序以前有用过一个感觉不错,不过看了这个感觉也很好,所以介绍给需要的朋友参考一下. <?php//调用实例require_once 'cart.class.php';session_start();if(!isset($_SESSION['cart'])) { $_SESSION['cart'] = new Cart;}$cart =& $_SESSION['cart']; if( ($_SERVER['REQUEST_METHOD']=="POST"