函数基础实战之ATM和购物车系统
username_list = []
prize_dict = {
'0': "芭比娃娃",
'1': "变形金刚",
'2': "psp游戏机",
'3': "奥特曼",
'4': "遥控飞机",
'5': "chongqiwawa",
}
shopping_car_dict = {}
def inp_username_pwd():
username_inp = input('请输入你的用户名:')
pwd_inp = input('请输入你的密码:')
return username_inp, pwd_inp
def login():
print('欢迎来到登录功能')
if username_list:
print('已经登录,请勿重复登录')
return
count = 0
while count < 3:
username_inp, pwd_inp = inp_username_pwd()
with open('user_info.txt', 'r', encoding='utf8') as fr:
for user_info in fr:
user_info = user_info.strip()
username, pwd = user_info.split(':')
if username == username_inp and pwd == pwd_inp:
print('登录成功')
username_list.append(username_inp)
return
else:
print('账号密码错误')
count += 1
def register():
print('欢迎来到注册功能')
username_inp, pwd_inp = inp_username_pwd()
with open('user_info.txt', 'a', encoding='utf8') as fa:
fa.write(f'{username_inp}:{pwd_inp}\n')
def logout():
print('欢迎来到注销功能')
if not username_list:
print('请登录后使用该功能')
return
username_list.clear()
def shopping():
print('欢迎来到Nick集团消费功能')
if not username_list:
print('请登录后使用该功能')
return
print('''
0 芭比娃娃
1 变形金刚
2 psp游戏机
3 奥特曼
4 遥控飞机
5 chongqiwawa
''')
prize_choice = input('请输入你需要购买的商品编号:')
prize_name = prize_dict[prize_choice]
if prize_name in shopping_car_dict:
shopping_car_dict[prize_name] += 1
else:
shopping_car_dict[prize_name] = 1
print(f'消费成功{prize_name},当前购物车情况为{shopping_car_dict}')
def shopping_car():
print('恭喜剁手成功功能')
if not username_list:
print('请登录后使用该功能')
return
print(f'恭喜你购物成功:{shopping_car_dict}')
shopping_car_dict.clear()
func_dict = {
'1': login,
'2': register,
'3': logout,
'4': shopping,
'5': shopping_car,
}
while True:
print('''
1 登录
2 注册
3 注销
4 购物
5 购物车
q 退出
''')
func_choice = input('请选择你要选择的功能(输入q退出):')
if func_choice == 'q':
break
if func_choice not in func_dict:
print('傻逼,英文看不懂正常,还看不懂阿拉伯数字')
continue
func_dict[func_choice]()
函数基础实战之ATM和购物车系统的更多相关文章
- 模块基础实战之ATM和购物车系统分文件处理
目录 一.项目地址 二.功能需求 一.项目地址 https://github.com/nickchen121/atm 二.功能需求 FUNC_MSG = { '0': '注销', '1': '登录', ...
- 函数高级实战之ATM和购物车系统升级
一.项目 二.项目地址 https://github.com/nickchen121/atm 三.功能需求 FUNC_MSG = { '0': '注销', '1': '登录', '2': '注册', ...
- Python常用模块实战之ATM和购物车系统再升级
目录 一.项目地址 二.功能需求 一.项目地址 https://github.com/nickchen121/atm 二.功能需求 FUNC_MSG = { '0': '注销', '1': '登录', ...
- Python学习--------------Atm+购物车系统
一.程序需求 模拟实现一个ATM + 购物商城程序: 1.额度 15000或自定义 2.实现购物商城,买东西加入 购物车,调用信用卡接口结账 3.可以提现,手续费5% 4.每月22号出账单,每月10号 ...
- ATM系统和购物车系统 不需要文件支撑
目录 ATM系统 购物车系统 ATM系统 #coding=utf8 #Version:python 3.6.4 #Tools:Python 2019.9.7 _data_ = '2019/9/7/01 ...
- MySQL的初次见面礼基础实战篇
[版权申明] http://blog.csdn.net/javazejian/article/details/61614366 出自[zejian的博客] 关联文章: MySQL的初次见面礼基础实战篇 ...
- Linux Capabilities 入门教程:基础实战篇
该系列文章总共分为三篇: Linux Capabilities 入门教程:概念篇 Linux Capabilities 入门教程:基础实战篇 待续... 上篇文章介绍了 Linux capabilit ...
- Capabilities 入门教程:基础实战篇
该系列文章总共分为三篇: Linux Capabilities 入门教程:概念篇 Linux Capabilities 入门教程:基础实战篇 待续... 上篇文章介绍了 Linux capabilit ...
- Nodejs入门级基础+实战
这篇随笔将会按序记录如下内容: NodeJs 简介 安装 NodeJs HTTP 模块.URL 模块 CommonJs 和 Nodejs 中自定义模块 NodeJs FS 模块 利用 HTTP 模块 ...
随机推荐
- SAP_ECC6_EHP7_IDES安装文档ORACLE11G+WINDOWS2012 R2 问题总结
SAP_ECC6_EHP7_IDES安装文档ORACLE11G+WINDOWS2012 R2 问题总结 1.注意密码不能带@等特殊符号,否则会报如下错误,因为ORACLE数据是不容许密码带@的.@是一 ...
- ORA-16032和ORA-07286 LOG_ARCHIVE_DEST_1没生效
主备切换在备库startup时出现归档路径没写到spfile里...注意:修改参数时最好带上scope=spfile或scope=both,以免重启出现异常.SQL> startup mount ...
- FS-Cache和CacheFS 有什么不同吗?(转载)
FS-Cache and CacheFS. Are there any differences between these two? Initially, I thought both were sa ...
- VSCode+C++环境搭建
date: 2019-10-05 VSCode+C++环境搭建 其实并不完整,毕竟我也只是一个OIer,并不会很高深的东西.(众所周知,OIer主业是软件开发) 安装VSCode 下载安装包 这个很简 ...
- 第1章 你好,C++并发世界
#include<iostream> #include<thread> void print(){ std::cout << "hello world&q ...
- 解决IDEA中的DashBoard 不显示端口号
第一步:找到.idea目录下的workspace.xml文件 第二步:找到下图位置 并添加红色部分代码 添加代码如下: <option name="configurationTypes ...
- IT兄弟连 HTML5教程 多媒体应用 HTML图像地图
图像地图是带有可点击区域的图像,通常情况下,每个区域是一个相关的超级链接.点击某个区域,就会到达相关的链接,也可以通过图像地图实现图片切换效果. 1 什么是图像地图 把一幅图像分成为多个区域,每个区 ...
- Charles 使用笔记
一.介绍 Charles 属于抓包软件. Charles 多平台支持,mac.windows.linux. Charles 是收费软件,可以免费试用 30 天.试用期过后,未付费的用户仍然可以继续使 ...
- Java描述设计模式(04):抽象工厂模式
本文源码:GitHub·点这里 || GitEE·点这里 一.抽象工厂模式 1.生活场景 汽车生产根据用户选择的汽车类型,指定不同的工厂进行生产,选择红旗轿车,就要使用中国工厂,选择奥迪轿车,就要使用 ...
- python django-admin.py startproject xxx 错误:from django.core import management
1. Python安装路径以及Python安装路径\Script文件夹,已经添加到PATH环境变量中. 2. 查看django 版本正常: import django print(django.__v ...