Python语言购物程序
小标 2018-06-27 来源 : 阅读 1361 评论 0

摘要:本文主要向大家介绍了Python语言购物程序,通过具体的代码向大家展示,希望对大家学习Python语言有所帮助。

本文主要向大家介绍了Python语言购物程序,通过具体的代码向大家展示,希望对大家学习Python语言有所帮助。

要求:

1. 启动程序后,让用户输入工资,然后打印出带有序号的商品列表

2. 用户输入商品序号购买相应的商品,或者输入 ' q ' 退出购买界面

3. 选择商品后,检查余额是否足够,够则直接扣款,不够则提示余额不足

4. 用户每购买一件商品后,或者输入 ' q ' 退出购买界面后,提示:是否继续购买?(Y/N),实现多次购买

5. 若用户购买了商品,打印出购买的商品列表,总金额,余额;若用户没买任何商品,打印:交易结束,购物失败

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()

本文由职坐标整理并发布,了解更多内容,请关注职坐标编程语言Python频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程