购物程序「建议收藏」

购物程序「建议收藏」#-*-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('请输入数字密码')

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • BZOJ 1052 HAOI2007 覆盖问题 二分法答案+DFS

    BZOJ 1052 HAOI2007 覆盖问题 二分法答案+DFS

  • idea如何配置jdk环境(安装jdk如何配置环境变量)

    IntelliJIDEA是支持JAVA开发得一种IDE安装它需要下载后逐步安装,没什么难点,但是最后会需要一个注册码,网上找个几个都提示过期了。但是从http://idea.lanyus.com/可以在线生成但是它提示注册码无效可以但是试过之后仍然不行,所以我去掉这两句话就可以了。然后需要安装JDK和配置环境变量一.下载JDK1.去jdk官网地址:http:…

  • java微服务架构有哪些_漂浮服务区后端

    java微服务架构有哪些_漂浮服务区后端在本文中我们将主要研究目前主要的BaaS平台的功能,以及Google,Facebook,Apple等互联网巨头在BaaS领域的动作。同时我们也会关注国内一些主流BaaS平台的发展以及国内互联网巨头如百度,华为等在BaaS领域的投入发展。1.国外主流的BaaS平台 在BaaS领域,有几件事情值得关注:2013年4月,Facebook收购Parse;2013年12月,Paypal收…

  • ClientScript.RegisterStartupScript()「建议收藏」

    ClientScript.RegisterStartupScript()「建议收藏」一些客户端脚本usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.HtmlControls;usingSystem.Web.UI.WebControls…

  • R语言基本画图「建议收藏」

    R语言创建多个图形方法一:每次创建一副新图形之前打开一个新的图形窗口dev.new()画图dev.new()画图……方法二:通过图形用户界面。windows上,打开一个一个图形界面,勾选“历史”——“记录”。然后点击菜单中的“上(下)一个”即可。方法三:使用函数dev.new()、dev.next()、dev.prev()、dev.set()

  • 说说你对servlet 的理解或者 servlet 是什么?「建议收藏」

    说说你对servlet 的理解或者 servlet 是什么?「建议收藏」说说你对servlet的理解或者servlet是什么?Servlet(ServletApplet),全称JavaServlet,是用Java编写的服务器端程序。而这些Servlet都要实现Servlet这个接口。其主要功能在于交互式的浏览和修改数据,生成动态Web内容。Servlet运行于支持Java的应用服务器中。 HttpServlet重写doGet和doPost

发表回复

您的电子邮箱地址不会被公开。

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