python小程序100题-python 练习题:流量套餐订购小程序

### u->user li->list prd->套餐

prd_l1 = [

('小时包流量/小时',5),

('日包流量/日',10),

('月末嗨翻天10天10G',20),

('闲时流量1G',10),

('30元5个G',30),

('50元50个G',50),

]

while 7:

u_shopping_li,u_mony =[],input('请输入您的余额:') # 用户购买过的套餐列表,用户余额

if u_mony.isdigit(): # 判断用户输入余额是否为整数

u_mony = int(u_mony) # 转换用户余额为整数

[print(index, prd)for index,prd in enumerate(prd_l1)] # 打印套餐列表

while 1:

u_prds = input("请选择您要购买的套餐(输入'e'可退出程序):") # 用户选择的套餐

if u_prds.isdigit(): # 判断输入是否为数字

u_prd = int(u_prds) # 转换用户选择的套餐序号为整数

if u_prd >= 0 and u_prd < len(prd_l1): # 判断用户输入是否为 0~5

prd, prd_mony = prd_l1[u_prd][0], prd_l1[u_prd][1] # 系统套餐,套餐所需金额

if u_mony >= prd_mony: #判断余额是否够开通套餐

u_shopping_li.append(prd) #把购买过的套餐加到用户套餐列表

u_mony -= prd_mony

print('您选择了<%s>套餐,消费:%s元,余额为:%s元.' % (prd, prd_mony, u_mony))

else:print('对不起您的余额不足已开通此套餐,请及时充值!余额:%s元' % u_mony) # 余额不足提示

else:print('NumbersError:您输入的序号超出范围!') # 除0~5以外的数字,提示

elif u_prds == 'e': # 用户输入 'e'

if u_shopping_li != []:

print('您订购了以下套餐:')

[print(index, i) for index, i in enumerate(u_shopping_li)] # 打印已订购套餐

print('余额为:%d元' % u_mony)

else: print('您未购买任何套餐,余额为:%d元' % u_mony)

exit() # 退出

else: print('TypeError:您输入了错误的字符!') # 除'e' 以外的其它字符, 提示

else: print('余额输入错误:请您重新输入一个整数')# 余额输入了其它字符提示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值