购物车程序二(模拟了用户登录,限次数三次)
1 ''' 2 #作业二:请闭眼写出购物车程序 3 goods = [ 4 {"name": "电脑", "price": 1999}, 5 {"name": "鼠标", "price": 10}, 6 {"name": "游艇", "price": 20}, 7 {"name": "美女", "price": 998}, 8 ] 9 #需求: 10 用户名和密码存放于文件中,格式为:jack|123 11 启动程序后,先登录,登录成功则让用户输入工资,然后打印商品列表,失败则重新登录,超过三次则退出程序 12 允许用户根据商品编号购买商品 13 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 14 可随时退出,退出时,打印已购买商品和余额 15 16 ''' 17 shopping_car = [] 18 flag = False 19 num = 1 20 21 while num < 4: 22 name = input("请输入用户名:") 23 password = int(input("请输入密码:")) 24 with open('msg.txt', encoding='utf-8') as f: 25 for line in f: 26 if name == line.split('|')[0] and password == int(line.split('|')[1]) : 27 salary = int(input("请输入您的总资产:")) 28 with open('goods.txt',encoding='utf-8') as g: 29 i = 1 30 goods = [] 31 for line in g: 32 dic = eval(line) 33 print('商品编号:',i , dic['name'],'----->',dic['price']) 34 goods.append(dic) 35 i += 1 36 37 while True: 38 num = input('选择商品序列号[按q 退出]:') 39 if num != 'q': 40 num = int(num) 41 if goods[num - 1]['price'] < salary: 42 salary = salary - goods[num - 1]['price'] 43 shopping_car.append(goods[num - 1]['name']) 44 else: 45 print("你的余额不足,请充值") 46 salary = input('输入充值额度[按q 退出]:') 47 if salary == 'q': 48 break 49 else: 50 salary = int(salary) 51 continue 52 53 else: 54 print('谢谢惠顾') 55 break 56 print('你的余额:', salary) 57 print('购买的商品:', shopping_car) 58 59 flag = True 60 break 61 elif num < 3: 62 print("输入有误,请重新输入!") 63 elif num == 3: 64 print("刷新重试") 65 if flag: 66 break 67 num += 1
msg.txt: jack|123 goods.txt
{"name": "电脑", "price": 1999}{"name": "鼠标", "price": 10}{"name": "游艇", "price": 20}{"name": "美女", "price": 998}
转载于:https://www.cnblogs.com/JerryZao/p/8660609.html
购物车程序二(模拟了用户登录,限次数三次)相关推荐
- 微信小程序之Github API用户登录认证的三种方式
调用Github API时需要进行身份认证.Github建议并提供基于OAuth2的第三方认证. 一.使用github提供的第三方认证(最常用方法) 使用github提供的第三方认证,需要先注册0au ...
- 写了一个Windows服务,通过C#模拟网站用户登录并爬取BUG列表查询有没有新的BUG,并提醒我...
写了一个Windows服务,通过C#模拟网站用户登录并爬取BUG列表查询有没有新的BUG,并提醒我 1.HttpUtil工具类,用于模拟用户登录以及爬取网页: using System; using ...
- 微信授权绑定手机号 java_微信小程序获取手机号授权用户登录功能
小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写. 1.getPhoneNumber这个组件通过button来实现(别的标签无 ...
- php 微信小程序获取手机号_实例讲解微信小程序获取手机号授权用户登录功能...
小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写.本文主要给大家分享微信小程序获取手机号授权用户登录功能,需要的朋友参考下吧, ...
- java实现微信、手机号登陆_微信小程序获取手机号授权用户登录功能
小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写. 1.getPaDirIrkFhoneNumber这个组件通过button来 ...
- Python模拟一个用户登录系统
题目:模拟一个用户登录系统,用户输入用户名和密码,输入正确即可进入系统 直接上代码: #模拟一个用户登录系统,用户输入用户名和密码,输入正确即可进入系统 d=['yao','123456']while ...
- linux服务器登录次数,Linux 服务器和Windows服务器 用户登录失败次数限制【互联网金融系统漏洞排查】...
1.Linux服务器用户登录失败次数限制(使用pam模块实现) /etc/pam.d/sshd (远程ssh) /etc/pam.d/login (终端) 1.1.用户通过ssh登录失败次 ...
- sqlserver数据库限制用户登录失败次数
gpedit.msc 设定 失败三次之后锁定30分钟,30分钟重置一次 使用数据库的账户登录测试 故意输错三次密码后,提示 解锁锁定的账户 ALTER LOGIN jason WITH PASSWOR ...
- Python基础-小程序练习(跳出多层循环,购物车,多级菜单,用户登录)
一. 从第3层循环直接跳出所有循环 break_flag = False count = 0 while break_flag == False:print("-第一层")whil ...
最新文章
- 3D视觉创新应用(三维重建)竞赛作品系列——多楼层室内环境下的三维几何重建
- docker常用命令行集锦
- linux 基本命令学习笔记
- stateflow错误:Error in port widths or dimensions.
- 启明云端分享|ESP32/ESP8266 烧录器 USB-TTL转接板开发工具ESP-T01的使用教程,视频可参考B站
- 深度学习-人工神经网络概述
- SAP Cloud for Customer移动端应用SAP推荐的网络时延参数
- 《Effective Java》读书笔记 - 5.泛型
- ABP入门系列(21)——切换MySQL数据库
- UVA 558 SPFA 判断负环
- aix系统输入oracle命令,aix 简单的系统命令
- IDEA---Project下看不见项目目录
- MySQL练习题(经典50题)
- 以面试的方式了解消息中间件MQ与RabbitMQ
- 电脑一键重装系统按F几进u盘启动
- python画美图_Python爬虫下手,就得从高清美图开始!
- iOS测试工程师如何用xcode进行性能测试
- 项目1:Ego微商小程序
- 流畅的python 14章可迭代的对象、迭代器 和生成器
- 英国电信公布2016第一财季业绩财报 营收76亿美元
热门文章
- jmeter 高并发测试报告_Windows下JMeter分布式压测环境搭建
- python怎样清除csv中的数据_使用d清除CSV文件中的数据
- android 加载so 与内存的关系,Android动态调试so之dump内存数据
- python超时处理_Python如何实现让一个函数超时退出?
- spriteatlas 白屏的问题_Discuz白屏问题解决思路
- 台州银行笔试考什么_台州银行笔试题型招聘考试真题考什么
- sql avg和count_SQL sum(),count()和avg()函数
- c# 中代替指针的功能_C中的功能指针
- python日期时间_Python日期时间
- 2019年web前端全集_2019年最佳30+ Web工具