python 中条件合法的_python学习中需要住的问题1:注意条件的限制(列表的操作)...

要求:

1、程序启动后,输入工资,然后打印商品列表

2、允许用户根据商品编号购买商品

3、用户选择商品后,检测余额是否足够,够就直接扣款,不够就提醒

4、随时可以退出,退出时,打印已购买商品和余额

# -*- coding:utf-8 -*-

# Author :deng

product_list=[

('Iphone',5800),

('Mac Pro',9800),

('Bike',800),

('Watch',10800),

('Coffee',32),

('PthonCookBook',108),

]

# print(type(product_list[0][1]))

salary = input("Input your salary:")

if salary.isdigit():

salary=int(salary)

while True:

for item in product_list:

print(product_list.index(item),item)

#另一种方式 for index,item in enmerate(product_list):

#print(index,item)一次就返回所需要的值

break

while True:

confirm = input('Exit:please input Q')

if confirm == 'Q':

break

select_product = int(input('Select your product number:'))

price = product_list[select_product][1]

if salary < price:

print('Your money is not enough!')

continue

else:

balance =salary - price

print('Your balacne is:',balance)

continue_confirm =input('Dou you want to buy anything?Y or N!')

if continue_confirm != 'N':

salary = balance

else:

print('谢谢光临!')

break

备注: 在选择商品列表的时候 未考虑是否在商品列表内

在判断是否要退出的时候,太过于重复

最后一步没有写入程序中

参考范例:

__author__ = "Alex Li"

product_list = [

('Iphone',5800),

('Mac Pro',9800),

('Bike',800),

('Watch',10600),

('Coffee',31),

('Alex Python',120),

]

shopping_list = []

salary = input("Input your salary:")

if salary.isdigit():

salary = int(salary)

while True:

for index,item in enumerate(product_list):

#print(product_list.index(item),item)

print(index,item)

user_choice = input("选择要买嘛?>>>:")

if user_choice.isdigit():

user_choice = int(user_choice)

if user_choice < len(product_list) and user_choice >=0:

p_item = product_list[user_choice]

if p_item[1] <= salary: #买的起

shopping_list.append(p_item)

salary -= p_item[1]

print("Added %s into shopping cart,your current balance is \033[31;1m%s\033[0m" %(p_item,salary) )

else:

print("\033[41;1m你的余额只剩[%s]啦,还买个毛线\033[0m" % salary)

else:

print("product code [%s] is not exist!"% user_choice)

elif user_choice == 'q':

print("--------shopping list------")

for p in shopping_list:

print(p)

print("Your current balance:",salary)

exit()

else:

print("invalid option")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值