购物程序「建议收藏」

购物程序「建议收藏」#-*-coding:utf-8-*-"""CreatedonTueSep1116:35:292018@author:车路历程"&

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

# -*- coding: utf-8 -*-
"""
Created on Tue Sep 11 16:35:29 2018

@author: 车路历程
"""
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
'''
1、启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表
2、允许用户根据商品编号购买商品
3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4、可随时退出,退出时,打印已购买商品和余额
5、在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示
扩展需求:
1、用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买
2、允许查询之前的消费记录
'''
# 用户名为;lilu   密码为:123
# 创建的文件名称为:purchase_records.txt
# 按 q键 表示退出
import re
import os

# 在当前目录下自动创建一个空文件purchase_records.txt
desktop_path = os.getcwd()
full_path = desktop_path + '\\' + 'purchase_records' + '.txt'
file = open(full_path, 'a+')
file.write('')
file.close()

name = input('请输入用户名:').strip()
key = input('请输入密码:').strip()

if key.isdigit():
    if name == 'lilu' and key == '123':
        print('您上次的选购状态为:')
        with open('purchase_records.txt', 'r') as f:
            print(f.read())
        with open('purchase_records.txt', 'r') as f:
            last_time_record_list = [i for i in f.readlines()]
            
        if len(last_time_record_list) != 0:
            salary = re.search("[0-9]+", last_time_record_list[-1]).group()
            purchase_list = re.search("[[].+[]]", last_time_record_list[-2]).group()[1:-1]\
                            .replace("'",'').replace(' ', '').split(",")
        else:
            purchase_list = []
            salary = input('请输入您的工资:').strip()
            
        if salary.isdigit():
            salary = int(salary)
            while True:
                print([(i[0], i[1]['name']) for i in enumerate(goods)])
                choice = input('请根据商品编号,选择您需要的商品:').strip()
                if choice.isdigit() and 0 <= int(choice) < len(goods):
                    choice = int(choice)
                    if salary >= goods[choice]["price"]:
                        purchase_list.append(goods[choice]["name"])
                        print('\033[1;31;40m%s\033[0m已加入购物车' %goods[choice]["name"])
                        with open('purchase_records.txt', 'a') as f:
                            left_salary = salary - goods[choice]["price"]
                            f.write('salary:'+str(salary)+'---'+goods[choice]["name"]
                                     +'---'+'left_salary:'+str(left_salary)+'\n')             
                        salary -= goods[choice]["price"]
                        print('余额为:\033[1;31;40m%s\033[0m' %salary)
                    else:
                        print('\033[1;35;40m您的余额不足,请充值\033[0m')
                elif choice == 'q':
                    print('您选择的商品为:%s'%purchase_list)
                    with open('purchase_records.txt', 'a') as f:
                        f.write('购买记录:%s\n'%purchase_list)
                        f.write('账户余额:%s\n'%salary)
                    break
                else:
                    print('您输入的内容有误,请重新输入')             
        else:
            print('请您输入数字')
    else:
        print('您输入的用户名和密码有误,请重新输入')
else:
    print('请输入数字密码')

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168330.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 大数据项目实训教学解决方案

    大数据项目实训教学解决方案大数据项目实训教学解决方案【课程资源】大数据项目实训和课程设计课程体系中职、高职还有本科,实训教学最关键的要素都是课程资源。唯众以大数据基础课程、核心技术课程为基础,以大数据产业实际应用案例为原型,遵照院校实训教学规范,开发了一系列的项目实训、课程设计课程资源,基本满足各院校大数据实训教学需求。【软件系统】大数据教学云平台大数据教学云平台是一个开放式的课程平台,除了唯众的课程体系之外,老师可自主开发在线课程,支持Word、PPT、PDF、视频等常见课件直接转换成在线课程,从而让老师很方便的将专业基

    2022年5月11日
  • vue详解_vuex教程

    vue详解_vuex教程Vuex是做什么的?官方解释:Vuex是一个专为Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex

    2022年8月7日
  • Kaptcha 验证码框架使用

    Kaptcha 验证码框架使用基于springboot验证码框架kaptcha使用一、统一步骤引入maven坐标<dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId>…

    2022年6月18日
  • zencart和php是什么,什么是ZenCart ZenCart有什么特点 ZenCart模板

    zencart和php是什么,什么是ZenCart ZenCart有什么特点 ZenCart模板什么是ZenCart?ZenCart有什么特点,ZenCart模板什么是ZenCart?ZenCart是免费的购物车软件-用于建立自己的网上商店,为网上销售商而设计。ZenCart是一个免费、界面友好,开放式源码的购物车软件。该软件由一些销售商、程序员、设计师和顾问们共同开发,目的就是用户能建立风格不同的电子商务系统。现有的一些解决方案过重于编程,而不是着眼于客户的需求。ZenCart把销售商…

    2022年7月27日
  • mysql 删除重复数据sql声明

    mysql 删除重复数据sql声明

    2022年1月4日
  • ⭐️UI自动化控制微信发送或转发图片消息✨

    ⭐️UI自动化控制微信发送或转发图片消息✨在前面《UI自动化轻松解决微信手工群发消息的烦恼》一文中,我演示了如果使用python发送文本消息。前段时间有群友询问:虽然之前觉得太简单懒得做,但今天周末又想起这个问题,考虑到很多网友不知道如何实现,所以我今天再简单演示一下。uiautomation控制微信发送图片????其实原理非常简单,之前无非是将需要发送的文本复制到剪切板再粘贴,那么其实对于图片也一样,我们只需要将需要发送的图片放入剪切板即可,其他地方逻辑都一样。那么如何将图片放入剪切板呢?uiautomation已经提供了SetCli

    2022年7月11日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号