自学python,购物车作业思路
小白0基础自学python第二天,在自学视频最后留了一道购物车的作业,分享下完成的思路
需求:
启动程序后,让用户输入工资,然后打印商品列表
允许用户根据商品编号购买商品
用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
可随时退出,退出时,打印已购买商品和余额
1、创建商品列表
product_list = [
('Iphone',5800),
('Mac Pro',9800),
('Bike',800),
('Watch',10600),
('Coffee',31),
('Alex Python',120),
]
这里需要使用嵌套的列表
2、创建输入工资的变量
salary = input("Input your salary:")
if salary.isdigit():
salary = int(salary)
这里需要注意的是判断输入的是否为数字,是的话还需要将字符串表示的数字转换为int类型的整数
3、整个购物是一个循环的过程,所以需要一直循环
while True:
4、打印商品列表
for index,item in enumerate(product_list):
print(index,item)
使用 enumerate(product_list) 这个方法提取列表的索引,并打印出来
5、创建输入需要购买商品的编码
user_choice = input("选择要买商品的编码:")
if user_choice.isdigit():
user_choice = int(user_choice)
和输入工资时一样同样需要判断是否为数字
6、判断输入的数字是否在列表的长度之内或者大于等于0,并创建一个购买商品的对象
if user_choice < len(product_list) and user_choice >=0:
p_item = product_list[user_choice]
7、判断工资是否足够购买商品,需要创建一个空白的列表shopping_list来装购买的商品
if p_item[1] <= salary:
shopping_list.append(p_item)
salary -= p_item[1]
print("添加购买 %s ,还剩余额为:%s" %(p_item,salary) )
else:
print("你的余额只剩[%s]啦,不足购买" % salary)
8、输入q指令的时候退出购物并打印购物清单余额
elif user_choice == 'q':
print("--------shopping list------")
for p in shopping_list:
print(p)
print("Your current balance:",salary)
exit()
9、补齐一些else结果这都比较简单了 。
总结
大概完成的还是比较顺利的就是有一些细节的 比如:输入工资 和 输入购买编号 判断是否为数字 和转换int类型的那一点是在别人帮助下完成的 还有就是enumerate(product_list) 这个方法的使用也是别人帮助完成的。能够顺利的完成对我学习python提高了很大的信心 希望继续努力加油!