购物车练习题

在看视屏学习的过程中,有一个课堂练习,该练习结合了 列表 字符串 循环 if等基本内容。

该习题的要求如下:

  ①启动程序,输入用户的工资:

  ②之后系统自动打印一个 购物菜单

  ③然后用户开始选择商品,如果用户手中的钱能买到该商品则加入购物车;否则提示用户您的余额不足,并显示缺的钱

  ④循环③,直到用户输入q键,结束循环(卡壳在这了)

  ⑤打印购物车内容(卡壳在这),并且显示剩余内容

思路:很显然,商品和商品的价格都应该是一组数据,这样就使用list对其操作。在列表中存取;我的程序使用两个列表分别存商品与其对应价格

          之后进入循环。购物车也应当是一个列表,在我的设计中购物车列表存放商品和其价格(相邻的两个连续存放)

       下面就是,用户选择商品

index=int(input('请输入你想买的物'))-1  #实现选择与确定索引从而在商品和价格列表中确定元素

用户输入1,就是第一个商品(以此类推)   ;就建立了一种用户的选择和商品,价格列表索引值之间的一种表达式关系如上。

之后,判断所选商品的价格是否小于余额,大于则舍弃;

    if money<price[index] :
        print('你的余额不足','差:',price[index]-money)

  小于则加入购物车(关键是如何加入购物车:在我的程序中把商品名和其价钱加入购物车列表实现该操作)

    else:
        print(goods[index],'已加入到购物车')
        money-=price[index]
        select_goods.append(goods[index])  #把选取商品加入购物车列表
        select_goods.append(price[index])   #把选取商品的价格加入购物车列表

下面,卡壳的地方是如何跳出循环:(通过某个按键q)

Q=input('是否结束此次购物:')    #卡壳
    if(Q.lower()=='q'):                   #判断是否结循环使用break语句 lower()
        print('结束购物,您已经购买以下商品')
        break()

其中的lower()是将大小写字母都转换成小写字母。

>>> b'Hello World'.lower()
b'hello world'

之后就是打印此时的购物车中的内容,遍历购物车列表即可,关键是如何确定购物车列表的长度: 

1 num_of_select=len(select_goods)   #求取此时购物车列表的长度
2         x=0                                 #x用来遍历数组
3         while x<num_of_select:             #卡壳在这里,注意while为循环语句,if为条件判断语句
4             print(select_goods[x],select_goods[x+1])  #打印所选商品与价格
5             x+=2

    

综上,代码如下:

 1 #_author_:'alex zhou'
 2 # Time: 2018/8/27 0027
 3 
 4 salary=int(input('请输入您的工资'))
 5 print('您的工资为:',salary)
 6 money=salary
 7 
 8 goods=['iphone','macbook','coffee','pythonbook','bicycle']
 9 price=[5800,9000,32,80,1500]
10 select_goods=[]                         #新建一个购物车列表用来存入选取的商品
11 info='''**********购物菜单**********    
12        1、iPhone  5800
13        2、macbook  9000
14        3、coffee    32
15        4、pythonbook 80
16        5、bicycle    1500
17       '''
18 print(info)
19 
20 while True:                               #循环购物
21     index=int(input('请输入你想买的物'))-1  #实现选择与确定索引从而在商品和价格列表中确定元素
22     if money<price[index] :
23         print('你的余额不足','差:',price[index]-money)
24     else:
25         print(goods[index],'已加入到购物车')
26         money-=price[index]
27         select_goods.append(goods[index])  #把选取商品加入购物车列表
28         select_goods.append(price[index])   #把选取商品的价格加入购物车列表
29 
30     Q=input('是否结束此次购物:')    #卡壳
31     if(Q.lower()=='q'):                   #判断是否结循环使用break语句 lower()
32         print('结束购物,您已经购买以下商品')
33         num_of_select=len(select_goods)   #求取此时购物车列表的长度
34         x=0                                 #x用来遍历数组
35         while x<num_of_select:             #卡壳在这里,注意while为循环语句,if为条件判断语句
36             print(select_goods[x],select_goods[x+1])  #打印所选商品与价格
37             x+=2
38         print('您的余额为:', money)
39         print('欢迎下次光临')
40         break
View Code

#视屏的做法下次添加

猜你喜欢

转载自www.cnblogs.com/alen1/p/9545714.html