Python No.13 之练习(购物车)语句while、for、list等
# !/usr/bin/env python# -*- coding:utf-8 -*-# Author:Hugolinhj #ps:字符编码是UTF-8,单独DOS运行需要删除字体改变代码。 #练习,定义商品清单,客户输入余额(整数),选择商品后,扣除金额。product_list = [ ('iphone',5800), ('Mac_pro',9800), ('bike',800), ('coffee',30), ('Watch',10600), ('MingYW',10000),]shopping=[]#定义两个变量,product_list:商品清单。shopping:购物清单。salary = input('Input your Salary:')#定义变量salary,用户金额。count = 3#定义变量count,为计算输入多次错误字符后,退出。while count >0: if salary.isdigit(): #判断字符是否为整数,或字符串可否转整数。 salary = int(salary) #转int整数类型 while True: for item in enumerate(product_list): #依次循环商品清单 #enumerate()显示列表的下标 #上句等于 for item in product_list: #print (product_list.index(item),item) print(item) user_choice = input('需要的商品>>>') #定义变量user_choice为用户选择的序号'下标'. if user_choice.isdigit(): user_choice = int(user_choice) if user_choice < len(product_list) and user_choice >=0: #len(product_list)检查product_list的长度为6。判断,比较。 p_item = product_list[user_choice] #定义变量p_item为所选商品。 if p_item[1] <= salary: #比较p_item下标1的数值,与salary用户余额 shopping.append(p_item) #添加商品入变量p_item入shopping列表中 salary -=p_item[1] #余额减p_item下标1的数值 print('添加 %s 加入购物车,你得余额为 \033[31:1m%s\033[0m'%(p_item,salary)) # \033[31:1m'%s’\033[0m '%s’改字体颜色为红色、加粗。 # \033[41:1m'%s’\033[0m '%s’改字体颜色为背景红色、加粗。 # \033[33:1m'%s’\033[0m '%s’改字体颜色为背景黄色、加粗。 else:print("\033[31:1m你的余额不足,请重新输入!!或者输入q\033[0m") else:print('你输入的有误!请重新输入。请按'q’退出!') elif user_choice == 'q': if len(shopping) == 0: print ('你未购买商品!谢谢光临!') print('你的余额:%s'%(salary)) exit () else: print('你购买商品如下:') for p in shopping: print(p) print('你的余额:%s'%(salary)) exit() else: print('你输入的有误!请重新输入,') else:break elif salary=='q': print('感谢你得使用!') exit() else: print('你输入的有误!请重新输入或者输入"q"退出!') print('你剩余机会还有:',count,'次') salary=input('请重新输入>>>') count -= 1 #巡检次数减1else:print('感谢你得使用!') shopping=Are you want? iphone = 5800mac_pro = 12000coffee = 30bike = 800 for i in shopping: print(i)'''
赞 (0)