zoukankan      html  css  js  c++  java
  • Python 练习

    功能说明:

    1.用户输入总资产例如:2000

    2. 显示商品列表,让用户根据序号选择商品,加入购物车

    3.购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

    使用说明:

    1.输入账户金额,验证输入的是合法数字。

    2.输入商编号,或者输入q退出。

    3.可以输入多次商品。

    4.输入q,将计算出账户金额,是否可以购买选择的商品,如果购买计算出总共花了多少钱,如果不够显示还差多少钱并退出

    代码:

    #!/usr/bin/Python
    # -*- coding:utf-8 -*-
    #商品列表
    goods = [
    {"name": "电脑", "price": 1999},
    {"name": "鼠标", "price": 10},
    {"name": "游艇", "price": 20},
    {"name": "美女", "price": 998},
    ]
    #输入总资产,
    while True:
    zhanghu = input("请输入总资产")#输入金额
    if zhanghu.isdigit() == True and int(zhanghu) > 0:#判断输入的内容必须是数字以及大于0
    break
    else:
    print("请输入正确金额!")
    print("-----------------------------")
    num = 0#声明z变量
    for i in goods:#遍历输出所以商品带编号
    print("编号%d:"%num,i["name"],i["price"])
    num+=1
    shops = {}#证明字典用于存放购买的商品
    shop_item = 0
    while True:#循环器
    shop_num = input("请输入商编号,或者输入q退出")#1.输入编号或输入q退出结账
    if shop_num.lower() == "quit":#2.判断输入的内容如果输入是q(不管是大写或者小写)break退出while循环
    break#
    if shop_num.isdigit() == True:# 3.如果输入的是数字判断是否小于goods列表的长度
    c = int(shop_num)
    if c < len(goods):#如果小于goods字典的长度有效
    k = goods[c]["name"]#将输入的下标转换成商品名称
    if k in shops.keys():#如果此商品在shops字典的keys中存在,num增加一个
    shops[goods[c]["name"]]['num']+=1#
    else:#如果item["name"]不存在shop集合中,创建一个集合,ite["price"]是金额
    shops[k] = {"num":1,"money":goods[c]["price"]}
    else:
    print("请输入合法编号")
    else:
    print("请输入合法编号")
    total_money = 0#总金额
    for k,v in shops.items():#遍历shops字典
    total_money += (v["money"] * v["num"])#总金额=(金额*数量)+总金额
    if total_money <= int(zhanghu):#如果总金额小于等于账户金额
    print("购物成功共消费:%s元"% total_money)
    print("购物清单%s"%shops)
    else:
    y = total_money - int(zhanghu)
    print("余额不足还差:%s元"%y)
  • 相关阅读:
    csharp: Cyotek.GhostScript.PdfConversion pdf convert image
    csharp: using Acrobat.dll pdf convert images in winform
    机器学习实战---K均值聚类算法
    机器学习实战---决策树CART回归树实现
    机器学习实战---决策树CART简介及分类树实现
    机器学习实战---线性回归(更好的使用正规方程求解)
    机器学习实战---逻辑回归梯度上升(更好的理解sigmoid函数的含义并改进)
    机器学习实战---朴素贝叶斯算法使用K折交叉验证
    机器学习实战---朴素贝叶斯算法
    机器学习实战---决策树ID3算法
  • 原文地址:https://www.cnblogs.com/hanjialong/p/6802505.html
Copyright © 2011-2022 走看看