在网上看到了金角大王(Alex)老师的课,老师讲课很幽默,开始记录每一次学习作业的内容,欢迎大家交流以及代码的使用。
1. day2作业内容
程序:购物车程序
需求:
1.启动程序后,让用户输入工资,然后打印商品列表
2.允许用户根据商品编号购买商品
3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4.可随时退出,退出时,打印已购买商品和余额
5.用户入口:
5.1商品信息存储在文件里
5.2已购商品,余额的记录(采用文本储存)
6.商家入口:
6.1可添加商品,修改商品价格
2. day2代码
登入时需先输入账户名称,管理员账号:PyDragon,用户账号:大龙 。对应了两个不同的操作界面,并每次结束程序和开始程序时都从本地文本文件中读取列表信息,实现数据在本地的存储。
具体代码如下:
#coding:utf-8
#引入python内置函数os
import os
#购物系统类
class shoppingSystem():
FoodName = None
FoodCost = 0
Function = None
Cost = 0
System = True
UserName = None
Salary = 0
Money = 0
user_and_salaryList = [["大龙",0]]
productList = []
buyList = []
tplt = "{0:>4}\t{1:>4}\t{2:>6}"
# {1:{3}^8} 1表示位置,{3}表示用第3个参数来填充,^表示居中,8表示占8个位置,chr(12288)中文空格
tplt_1 = "{0:>4}\t{1:{3}^8}\t{2:>0}"
#数据文件导入初始化
def init_file(self):
self.read_data(self.buyList,'buyList')
self.read_data_2(self.productList,'productList')
#用户名登入
def MainShop(self):
self.read_money('money')
self.UserName = input("输入用户名:")
if self.GM():
self.GM_display()
self.GM_function()
elif self.check_user():
self.display()
self.buy()
else:
print("用户名不存在,请重新输入")
self.MainShop()
#判断是否为管理员用户名
def GM(self):
if self.UserName == 'PyDragon':
return 1
#主界面显示
def display(self):
print(self.tplt.format('购买编号','食物名称','单价(元)',chr(12288)))
for index,item in enumerate(self.productList):
print(self.tplt_1.format(index,item[0],item[1],chr(12288)))
print('当前账户剩余:'+str(self.Money)+'元')
print('已购清单(F) 退出系统(Q)')
#管理员主界面显示
def GM_display(self):
print('----------------管理员后台界面-----------------')
print('增加食品(A) 删除食品(D) 修改价格(C) 查询菜单(L)')
print('退出系统(Q)')
print('-----------------------------------------------')
#管理员功能
def GM_function(self):
self.Function = input("执行功能按键编号:")
if self.Function == 'a':
self.function_a()
elif self.Funct