购物程序「建议收藏」

购物程序「建议收藏」#-*-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)


相关推荐

  • VBScript经典教程以及函数手册

    VBScript经典教程以及函数手册   Vbs经典教程:   https://www.jb51.net/article/53280.htm   Vbs函数手册:   https://www.jb51.net/shouce/vbs/

  • 阶乘相加

    阶乘相加阶乘相加

  • 送你一张图,教你如何docker卸载redis,请收好「建议收藏」

    送你一张图,教你如何docker卸载redis,请收好「建议收藏」一张图,告诉你怎么操作。嘿嘿❤如果文章对您有所帮助,就在文章的右上角或者文章的末尾点个赞吧!(づ ̄3 ̄)づ❤如果喜欢大白兔分享的文章,就给大白兔点个关注吧!(๑′ᴗ‵๑)づ╭❤~❤对文章有任何问题欢迎小伙伴们下方留言或者入群探讨【群号:708072830】❤鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复讨论(请勿发表攻击言)…

  • @RequestBody 和 @RequestParam可以同时使用

    @RequestBody 和 @RequestParam可以同时使用@RequestParam和@RequestBody这两个注解是可以同时使用的。网上有很多博客说@Requestparam和@RequestBody不能同时使用,这是错误的。根据HTTP协议,并没有说post请求不能带URL参数,经验证往一个带有参数的URL发送post请求也是可以成功的。自己个人实际验证结果:packagecom.example.model;import…

  • Chromium-Dev一些缩写

    Chromium-Dev一些缩写

  • Ajax面试问题_我是面试官,该问什么?

    Ajax面试问题_我是面试官,该问什么?Ajax是什么?Ajax是指一种创建交互式网页应用的网页开发技术,全称是asychronousjavascriptandxml,可以说是已有技术的组合,主要用来实现客户端与服务器端的异步通信效果,实现页面的局部刷新。Ajax应用程序的优势在于:1.通过异步模式,提升了用户体验2.优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用3.Ajax引擎在…

发表回复

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

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