1.元组
元祖被称为只读列表,即数据只可以被查询但不能被修改,所以列表的各项操作除修改以外的都适用元组。当元组内只有一个元素时,也建议在后面加上逗号。
2.小项目实战——购物车程序
需求:显示商品信息。
输入商品序号,将商品加入购物车。
如果资金不够则重新选择商品并显示缺多少,资金大于商品价格时,加入购物车后,显示还剩多少钱。
当不想继续时终止程序,并显示购物车中的东西,以及还剩多少钱。

1 product = [
2 ("iphone",6000),
3 ("ipad",4000),
4 ("bycle",2000),
5 ("drink",50),
6 ("mac",10000)
7 ]
8 for i,j in enumerate(product,1):
9 print(i,">>",j)
10 shopping_car = []
11 salary = input("please input your salary:")
12 if salary.isdigit():
13 salary = int(salary)
14 flag = True
15 while flag:
16 want_buy_num = input("please input you want to buy[num] or quit[Q]...:")
17 if want_buy_num.isdigit():
18 want_buy_num = int(want_buy_num)
19 if 0 < want_buy_num <= len(product):
20 want_buy_product = product[want_buy_num - 1]
21 if want_buy_product[1] <= salary:
22 salary -= want_buy_product[1]
23 shopping_car.append(want_buy_product)
24 print("您已将",want_buy_product[0],"加入购物车,还有余额%d元" % salary)
25 else:
26 print("您的可用余额不足,还需要%d元!" % (want_buy_product[1] - salary))
27 else:
28 print("请输入范围内的商品编号!")
29 elif want_buy_num == "Q":
30 print("-------您已购买如下商品-------")
31 for b in shopping_car:
32 print(b)
33 print("您的余额为%d元" % salary)
34 flag = False
35 else:
36 print("invalid want_buy number!")
37 else:
38 print("invalid salary!")
