视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
如何利用Python实现购物程序思路以及实现代码
2020-11-27 14:23:25 责编:小采
文档


本文给大家分享的是使用Python实现的购物小程序的思路要求以及相关代码,非常的简单实用,有需要的小伙伴可以参考下

要求:

启动程序后,让用户输入工资,然后打印出带有序号的商品列表
用户输入商品序号购买相应的商品,或者输入 ' q ' 退出购买界面
选择商品后,检查余额是否足够,够则直接扣款,不够则提示余额不足
用户每购买一件商品后,或者输入 ' q ' 退出购买界面后,提示:是否继续购买?(Y/N),实现多次购买
若用户购买了商品,打印出购买的商品列表,总金额,余额;若用户没买任何商品,打印:交易结束,购物失败
Readme:

运行程序,输入薪水,根据商品列表的序号选择购买的商品,可以选择多次购买,或者不购买

流程图:

代码:

# 简单的购物小程序

product_list = [
 ['surface pro 4', 7800],
 ['dell xps 15', 12000],
 ['macbook', 12000],
 ['小米6', 2499],
 ['iphone7', 4600],
 ['坚果Pro', 1499]
]
shopping_list = []


# 判断输入的薪水格式是否正确
while True:
 salary = input('
请输入您的薪水:')
 if not salary.isdigit(): # 薪水不是数字,结束循环
 print('
输入格式有误!请重新输入...')
 continue
 break


balance = salary = int(salary)

print('
-----------欢迎购买------------
')

# 生成带序号的商品列表
for index, item in enumerate(product_list):
 print(index, item)


# 判断输入的序号是否符合要求
while True:

 while True:
 i = input('
输入您要购买的商品序号,或输入 q 取消购买:')
 if i == 'q': # 输入 q 退出购买界面
 while True:
 a = input('
是否继续购买?(Y/N):')
 if a != 'n' and a != 'N' and a != 'y' and a != 'Y':
 print('
输入格式有误,请重试...')
 continue
 elif a == 'y' or a == 'Y': # 继续购买
 break
 else: # 购买完毕
 if balance == salary: # 没有买任何东西
 print('
交易结束,购买失败...')
 exit()
 else: # 结算 
 print('
您已成功购买以下商品:
')
 for item in shopping_list:
 print(item)
 print('
共消费金额 %d 元,余额 %d 元' % (salary - balance, balance))
 exit()
 continue

 if not i.isdigit(): # 序号不是数字,结束循环
 print('
输入格式有误!请重新输入...')
 continue

 i = int(i)

 if i < 0 or i >= len(product_list): # 序号范围不正确,结束循环
 print('
此商品不存在,请重新输入...')
 continue
 break

 product = product_list[i]
 price = int(product[1])

 # 判断余额是否充足,够就直接扣款,不够提醒
 if price <= balance:
 balance -= price
 shopping_list.append(product_list[i])
 print('
您已成功购买 %s ,当前余额为 %d 元' %(product, balance))
 else:
 print('
购买失败,您的余额不足...')

 while True:
 a = input('
是否继续购买?(Y/N):')
 if a != 'n' and a != 'N' and a != 'y' and a != 'Y':
 print('
输入格式有误,请重试...')
 continue
 break

 if a == 'Y' or a == 'y':
 continue
 else:
 break

if balance == salary:
 print('
交易结束,购买失败...')
 exit()
else:
 print('
您已成功购买以下商品:
')
 for item in shopping_list:
 print(item)
 print('
共消费金额 %d 元,余额 %d 元' %(salary-balance, balance))
 exit()

下载本文
显示全文
专题