Python3学习笔记6:字符串操作、dict字典、文件file的合理使用----购物车优化之用户端(消费者端)
2021/4/29 22:55:50
本文主要是介绍Python3学习笔记6:字符串操作、dict字典、文件file的合理使用----购物车优化之用户端(消费者端),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
学习Python3,坚持每一次学习都有一点点知识的积累,瞄准目标gogogo!这次仍然是练习,字符串操作、dict字典的合理使用,增加了文件的读和写,使用了一些稍微复杂的逻辑(题目仍然源自老男孩)
购物车程序,消费者入口:
1.商品信息存在文件里
2.已购商品,余额记录
先上代码:
#Author wsp #用户程序,要求如下: # 1.商品信息存在文件里 # 2.已购商品,余额记录 print("这里是个人购物系统".center(70, "#")) #读取用户信息,余额、已购商品列表 while True: #只读方式打开文件 goods_file_r = open("user.txt", "r") lines = goods_file_r.readlines() #使用list存储读取出来的用户信息 user_info = [] for line in lines: user_info.append(line) if user_info.__len__() > 0: # 得到用户剩余金额 salary = int(user_info[0]) # 去掉第一行,得到用户购买商品信息 del user_info[0] else: #用户还没有记录,先输入金额 salary = int(input("目前没有您的记录,请输入您的初始金额:")) #打印相关信息 print("您现在余额是{salary}".format(salary=salary)) print("您当前已购商品及金额列表如下:") for goods in user_info: print(goods.strip()) #只读方式打开商品列表文件 goods_file_r = open("goods.txt", "r") lines = goods_file_r.readlines() #涉及到去重,使用字典 goods_list = {} print("当前商品列表如下:") for line in lines: goods_line = line.split(" ") if goods_line.__len__() == 2: goods_list[goods_line[0].strip()] = goods_line[1].strip() print("{name} {cost}".format(name=goods_line[0].strip(), cost=goods_line[1].strip())) #关闭文件句柄 goods_file_r.close() choice_goods_name = input("商品信息显示完成,请选择想要购买的商品:,'q' 退出>>>:") if goods_list.__contains__(choice_goods_name): if int(goods_list[choice_goods_name]) > salary: print("您的金额不足,只剩 {salary}元!".format(salary=salary)) else: print("添加商品 {goods} 到您的商品列表,并扣款成功 ".format(goods=choice_goods_name)) user_info.append(choice_goods_name+" "+goods_list[choice_goods_name]) salary = salary - int(goods_list[choice_goods_name]) #写入文件中: # 写的方式打开文件 goods_file_w = open("user.txt", "w") goods_file_w.writelines(str(salary)) goods_file_w.write('\n') for input_goods in user_info: goods_file_w.writelines(input_goods) # 关闭写文件句柄 goods_file_w.close() continue; elif choice_goods_name=='q': break; else: print("您的输入不合法!")
要点:
1.读取文件和写入文件,我使用的不同的文件打开句柄,需要注意的是文件操作之后及时关闭
2.使用了以前没有使用过的Str的center()方法,前后补充分隔符,算是黑白屏操作稍微好看点,也好玩一点
3.使用str的strip()方法,去除掉回车符
4.商品列表仍然使用字典,值得注意的是用户的购物信息使用list存储,因为用户有可能买两个相同的产品
练习暂时告一段落了,后面开始学习新的知识了,加油加油老铁们。
什么时候能够自己写爬虫爬点MM图片啥的呀,哈哈哈。
这篇关于Python3学习笔记6:字符串操作、dict字典、文件file的合理使用----购物车优化之用户端(消费者端)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python