python编写⼀个购物程序_Python实现购物程序思路及代码要求:
启动程序后,让⽤户输⼊⼯资,然后打印出带有序号的商品列表
⽤户输⼊商品序号购买相应的商品,或者输⼊ ' q ' 退出购买界⾯
选择商品后,检查余额是否⾜够,够则直接扣款,不够则提⽰余额不⾜
⽤户每购买⼀件商品后,或者输⼊ ' q ' 退出购买界⾯后,提⽰:是否继续购买?(Y/N),实现多次购买
若⽤户购买了商品,打印出购买的商品列表,总⾦额,余额;若⽤户没买任何商品,打印:交易结束,购物失败
Readme:
运⾏程序,输⼊薪⽔,根据商品列表的序号选择购买的商品,可以选择多次购买,或者不购买python新手代码及作用
流程图:
代码:
# 简单的购物⼩程序
product_list = [
['surface pro 4', 7800],
['dell xps 15', 12000],
['macbook', 12000],
['⼩⽶6', 2499],
['iphone7', 4600],
['坚果Pro', 1499]
]
shopping_list = []
# 判断输⼊的薪⽔格式是否正确
while True:
salary = input('\n请输⼊您的薪⽔:')
if not salary.isdigit(): # 薪⽔不是数字,结束循环
print('\n输⼊格式有误!请重新输⼊...')
continue
break
balance = salary = int(salary)
print('\n-----------欢迎购买------------\n')
# ⽣成带序号的商品列表
for index, item in enumerate(product_list):
print(index, item)
# 判断输⼊的序号是否符合要求
while True:
while True:
i = input('\n输⼊您要购买的商品序号,或输⼊ q 取消购买:')
if i == 'q': # 输⼊ q 退出购买界⾯
while True:
a = input('\n是否继续购买?(Y/N):')
if a != 'n' and a != 'N' and a != 'y' and a != 'Y':
print('\n输⼊格式有误,请重试...')
continue
elif a == 'y' or a == 'Y': # 继续购买
break
else: # 购买完毕
if balance == salary: # 没有买任何东西
print('\n交易结束,购买失败...')
exit()
else: # 结算
print('\n您已成功购买以下商品:\n')
for item in shopping_list:
print(item)
print('\n共消费⾦额 %d 元,余额 %d 元' % (salary - balance, balance)) exit()
continue
if not i.isdigit(): # 序号不是数字,结束循环
print('\n输⼊格式有误!请重新输⼊...')
continue
i = int(i)
if i < 0 or i >= len(product_list): # 序号范围不正确,结束循环
print('\n此商品不存在,请重新输⼊...')
continue
break
product = product_list[i]
price = int(product[1])
# 判断余额是否充⾜,够就直接扣款,不够提醒
if price <= balance:
balance -= price
shopping_list.append(product_list[i])
print('\n您已成功购买 %s ,当前余额为 %d 元' %(product, balance)) else:
print('\n购买失败,您的余额不⾜...')
while True:
a = input('\n是否继续购买?(Y/N):')
if a != 'n' and a != 'N' and a != 'y' and a != 'Y':
print('\n输⼊格式有误,请重试...')
continue
break
if a == 'Y' or a == 'y':
continue
else:
break
if balance == salary:
print('\n交易结束,购买失败...')
exit()
else:
print('\n您已成功购买以下商品:\n')
for item in shopping_list:
print(item)
print('\n共消费⾦额 %d 元,余额 %d 元' %(salary-balance, balance)) exit()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论