python运维自动化老男孩_老男孩第十四期 python 自动化运维第二周

'''作者:潘富家

功能:

用户接口

商品信息存在文件里

已购商品, 余额记录

版本:1.0

创建时间:忘了'''

importos

product_list= [] #商品信息

user_list = [] #用户信息

product_file_text = 'product.csv'#商品表名

user_file_text = 'user_information.csv' #用户表名

if notos.path.isfile(product_file_text):

with open(product_file_text,'w') as product_file:

text= '''product,money

IPhone,5800

Mac Pro,9800

Bike,800

Watch,10600

Coffee,31

Alex Python,5800'''product_file.write(text)if notos.path.isfile(user_file_text):

with open(user_file_text,'w') as user_file:

user_file.write('user,money,shopping_information')

with open(product_file_text,'r') as product_file:#取出商品信息表

p_f = product_file.read().split('\n')for i inp_f:if len(i) >1:

text= i.split(',')

product_list.append(text)for i in range(1,len(product_list)):#对商品价格进行类型转换(文档默认为string)

product_list[i][1] = int(product_list[i][1])

with open(user_file_text,'r') as user_file:#用户信息录入

u_f = user_file.read().split('\n')for i inu_f:

text= i.split(',')

user_list.append(text)print(product_list)print(user_list)

shopping_list= []#记录步骤

bool =False

user= input('请输入用户')for i inuser_list:if user ini[0]:

salary= i[1]

bool=Trueif notbool:

salary= input('Input yor salary:')ifsalary.isdigit():

salary=int(salary)whileTrue:for index,item in enumerate(product_list[1:]):print(index,item)

user_choice= input('选择要买嘛?>>>:')if user_choice.isdigit():#判断编号是否为数字

user_choice = int(user_choice)+1

if user_choice < len(product_list) and user_choice >= 0 :#编号范围从0到数组长度-1

p_item = product_list[user_choice] #获取正确商品编号的元组

if p_item[1] <= salary:#买得起

shopping_list.append(p_item)#记录添加

salary -= p_item[1]print("Added %s into shopping cart,your current balance is \033[31:1m%s\033[0m" %(p_item[0],p_item[1]))else:# print('\033[41:1m你的余额只剩[%s]啦,还买个毛线\033[0m'%salary)else: #不存在商品编号

print("product code [%s] is not exist!"%user_choice)elif user_choice == 'q':#退出 输出购买商品以及剩余余额

print('shopping list'.center(40,'-'))

with open(user_file_text,'w') as user_file:#用户文件写入

text_s = ''#购买信息存储

for p inshopping_list:#print(p)

text_s += "{}:{}".format(p[0],p[1])if notbool:

user_list.append([user, salary,text_s])for i inuser_list:if len(i) ==3:if i[0] == user:#当用户为用户表用户

#print(i[2])

#print(text_s)

text_s = i[2] + text_s#本次购买信息 加上之前购买信息

i[1] = str(salary)#更新工资

i[2] =text_s

user_file.write('{},{},{}\n'.format(i[0],i[1],i[2]))#写入用户信息表

'''user_dict = {abc[i]:user_list[0][i] for i in range(len(user_list[0]))}

print(user_dict)

user_file.write('{a},{b},{c}'.format_map(user_dict))

user_file.write('{},{},{}'.format(user,str(salary),text_s))'''

print("user:"+user)print("Your current balance:",salary)

exit()else:print('invalid option')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值