优点
- 能够符合题目的要求,充分运用所学到的知识。
- 可以判断输入是否为数字,和判断输入范围是否正确。若输入不符合要求,可以继续重复输入,直到输入正确才开始判断。
- 注释充分,能够让你轻松阅读与理解。
考虑的因素
1、 用户可能没有选择任何商品,直接退出。
2、 用户可能输入的信息不正确,要怎么处理。
3、 输入的信息有时是字母,有时是整型数,该怎么分别判断。
4、 用户选择商品可能不重复,可能重复。
5、 用户选择同一个商品两次及以上,比较好的是应该视为这个商品购买两件及以上。
6、 用户多次选择商品,中间输入信息时又出错了,该怎么处理。
7、 打印用户选择了的商品列表,应该考虑到多件相同商品的价格计算,及总额统计。
8、 打印购物车列表时,商品编号是商品标识,如同超市中商品的条形码一样,应该和原始产品的编号对应,而不应该重新排序。
9、 打印购物车列表具体商品时,如何固定长度输出,这个未解决,所以单价小的商品信息打印出来,格式有点乱。
10、购物车多件相同商品的去重打印。
11、购物车cart重复存入的商品,去重后,如何解决下标的问题,避免报错,无法打印后面的总额。这里试验了很久,解决了下标原始范围和列表去重后下标范围的问题。可能是删除指定元素后,列表中的这个元素被删除了,但原始长度还是在内存里,还是在原始的范围内取。希望能了解增删改查等在内存中的存储机制。
代码
# -*- coding= utf-8 -*-
# Author: Mr.chen
# @File : gouwu.py
# @Software: PyCharm
# -*- coding= utf-8 -*-
# Author: Mr.chen
# @Time : 2021/1/28 14:59
# @Author:
# @User : asus
# @Site :
# @File : __init__.py.py
# @Software:
products = [["iphone", 6888], ["MacPro", 14800], ["小米6", 2499], ["Coffee", 31], ["Book", 60], ["Nike", 699]] # 设置商品
print("------打印商品列表------")
print("编号\t商品名\t单价") # 表头
for product in range(len(products)):
print(product, end="\t")
for money in range(len(products[product])):