本文共 1441 字,大约阅读时间需要 4 分钟。
要求:
1.启动程序后,然该用户输入工资,然后打印商品列表
2.允许用户根据商品编号购买商品
3.用户选择商品后,检测余额是否足够,够就直接扣款,不够就提醒
4.可随时退出,退出时,打印已购买商品和余额
python代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #定义商品列表 shopping = { 1 :[ "手机" , 1000 ], 2 :[ "电脑" , 4000 ], 3 :[ "平板" , 3000 ] } #while循环 判断 用户输入的工资是否是整数,而并不是字母或者其他。 while True : gongzi = input ( "请输入您的工资(精确到元):" ) #判断输入的是否是整数 if gongzi.isdigit(): gongzi = int (gongzi) # 用于存储临时购买商品的列表 shopping_list = [] #定义不断购买的一个循环过程 while True : print ( "产品列表如下" .center( 30 , "=" )) #循环字典,并打印出来 for i in shopping: print (i,shopping[i][ 0 ],shopping[i][ 1 ]) goumai = input ( "请输入你要购买商品的序号:[按q退出]" ) if goumai.isdigit(): goumai1 = int (goumai) #如果购买商品的价格小于等于用户的工资,就把商品加入临时购买商品的列表,并打印余额。 if shopping[goumai1][ 1 ] < = gongzi: #下面 把商品的序号、商品名称、商品价格 加入到一个商品元组里边 goumai_list = goumai1,shopping[goumai1][ 0 ],shopping[goumai1][ 1 ] #讲商品元组追加到临时购买的商品列表里; shopping_list.append(goumai_list) #计算用户的余额=用户登录时输入的工资-购买商品的价格 gongzi = gongzi - shopping[goumai1][ 1 ] print ( "您的余额是{0}" . format (gongzi)) continue print ( "余额不足,当前余额{0}$" . format (gongzi)) elif goumai = = "q" : print ( "您已购买以下商品:" .center( 30 , "-" )) name = "" for l in shopping_list: print (l[ 0 ],l[ 1 ],l[ 2 ]) print ( "您的余额是{0}$" . format (gongzi)) exit() else : print ( ">>>输入错误!" ) else : print ( ">>>输入错误!" ) |
python购物车优化版本--
本文转自506554897 51CTO博客,原文链接:http://blog.51cto.com/506554897/1939648,如需转载请自行联系原作者