python语言list语句_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 加入购物车,你得余额为 33[31:1m%s 33[0m'%(p_item,salary))

# 33[31:1m‘%s’ 33[0m ‘%s’改字体颜色为红色、加粗。

# 33[41:1m‘%s’ 33[0m ‘%s’改字体颜色为背景红色、加粗。

# 33[33:1m‘%s’ 33[0m ‘%s’改字体颜色为背景黄色、加粗。

else:print(" 33[31:1m你的余额不足,请重新输入!!或者输入q 33[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

#巡检次数减1

else:print('感谢你得使用!')

shopping=

Are you want?

iphone = 5800

mac_pro = 12000

coffee = 30

bike = 800

for i in shopping:

print(i)

'''

内容来源于网络如有侵权请私信删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值