利用条件逻辑创建简单的模拟程序

news/2024/10/4 2:14:33 标签: python, 条件逻辑

利用条件逻辑创建简单的模拟程序

在编程中,条件逻辑(if-elif-else 语句)是控制程序流的重要工具。它允许程序根据不同条件做出不同的决策。这一特性使得我们能够创建更复杂和智能的程序。在本文中,我们将通过一个实际案例来展示如何利用条件逻辑创建一个简单的模拟程序。

1. 什么是条件逻辑

条件逻辑用于根据给定条件执行特定操作。常用的条件语句有:

  • if:如果条件为真,执行相应代码。
  • elif:在前面的条件为假时检查另一个条件。
  • else:当所有条件都不满足时执行的代码块。

基本结构示例:

python">if condition1:
    # 执行代码块1
elif condition2:
    # 执行代码块2
else:
    # 执行代码块3

2. 创建模拟程序:简单的购物系统

为了演示条件逻辑的使用,我们将创建一个简单的购物系统。用户可以选择商品并输入其数量,系统会根据库存情况计算总价,并提供相应的反馈。

2.1 设计程序功能

  1. 用户选择商品。
  2. 用户输入所需商品的数量。
  3. 系统根据库存情况进行判断。
  4. 计算总价并显示结果。

2.2 实现代码

下面是实现上述功能的 Python 代码示例:

python"># 定义商品及其价格和库存
products = {
    "苹果": {"价格": 3.0, "库存": 10},
    "香蕉": {"价格": 2.0, "库存": 5},
    "橙子": {"价格": 4.0, "库存": 8}
}

def display_products():
    print("可选商品:")
    for product, info in products.items():
        print(f"{product} - 价格: {info['价格']}元, 库存: {info['库存']}个")

def main():
    display_products()
    
    while True:
        product_name = input("请输入您想购买的商品(输入'退出'以结束): ")

        if product_name == '退出':
            print("感谢您的购物,再见!")
            break
        
        if product_name in products:
            quantity = int(input("请输入购买数量: "))
            if quantity <= products[product_name]["库存"]:
                total_price = quantity * products[product_name]["价格"]
                products[product_name]["库存"] -= quantity  # 更新库存
                print(f"您购买了 {quantity}{product_name},总价: {total_price:.2f}元")
            else:
                print(f"抱歉,库存不足,当前库存: {products[product_name]['库存']}个")
        else:
            print("该商品不存在,请选择其他商品。")

if __name__ == "__main__":
    main()

2.3 代码解析

  1. 定义商品信息:使用字典存储商品名称、价格和库存。
  2. 展示商品display_products 函数打印可选商品的信息。
  3. 主循环main 函数是程序的核心:
    • 提示用户输入商品名称。
    • 检查输入是否为 “退出”,如果是,则结束程序。
    • 检查输入的商品是否存在于字典中。
    • 获取用户输入的购买数量,并与库存进行比较。
    • 如果购买数量小于或等于库存,则计算总价并更新库存;否则,提示库存不足。

3. 运行实例

假设用户运行程序并进行交互,过程如下:

可选商品:
苹果 - 价格: 3.0元, 库存: 10个
香蕉 - 价格: 2.0元, 库存: 5个
橙子 - 价格: 4.0元, 库存: 8个
请输入您想购买的商品(输入'退出'以结束): 苹果
请输入购买数量: 3
您购买了 3 个苹果,总价: 9.00元
请输入您想购买的商品(输入'退出'以结束): 香蕉
请输入购买数量: 6
抱歉,库存不足,当前库存: 5个
请输入您想购买的商品(输入'退出'以结束): 橙子
请输入购买数量: 4
您购买了 4 个橙子,总价: 16.00元
请输入您想购买的商品(输入'退出'以结束): 退出
感谢您的购物,再见!

4. 总结

通过这个简单的购物系统示例,我们展示了如何使用条件逻辑来创建一个用户交互的模拟程序。条件逻辑是程序控制流程的核心,有助于处理各种输入和情况,从而实现丰富的功能。


http://www.niftyadmin.cn/n/5689301.html

相关文章

【Swift官方文档】7.Swift集合类型

集合类型 使用数组、集合和字典来组织数据。Swift 提供了三种主要的集合类型&#xff1a;数组、集合和字典&#xff0c;用于存储值的集合。数组是有序的值集合。集合是无序的唯一值集合。字典是无序的键值对集合。 Swift 中的数组、集合和字典始终清晰地指明它们可以存储的值…

开源项目 - 交通工具检测 yolo v3 物体检测 单车检测 车辆检测 飞机检测 火车检测 船只检测

开源项目 - 交通工具检测 yolo v3 物体检测 单车检测 车辆检测 飞机检测 火车检测 船只检测 开源项目地址&#xff1a;https://gitcode.net/EricLee/yolo_v3 示例&#xff1a;

构建ID3决策树的算法代码 核心部分详细讲解

# ID3 算法类 class ID3Tree:# 定义决策树节点类class TreeNode:# 定义树节点def __init__(self, name):self.name nameself.connections {}# 定义树的连接def connect(self, label, node):self.connections[label] node# 定义参数变量&#xff0c;包括数据集、特征集、标签…

C/C++/EasyX ——入门图形编程(2)

【说明】这一篇的内容都是很基础的&#xff0c;所以内容会很多&#xff0c;具体现在也不知道要写多少&#xff0c;先写下去吧&#xff0c;新手小白们都不用担心&#xff0c;这个内容不会很难&#xff0c;因为我也是从一无所知过来的&#xff0c;很好入门的&#xff0c;&#xf…

tftp传文件被服务器拒绝进入tftp: server error: (768) Access to staonline.pcap denied

环境&#xff1a;测试一个ac下挂ap&#xff0c;ap下的抓包文件传出时&#xff0c;出现问题&#xff1a; ac的wan口ip是192.168.186.167/24&#xff0c;gw是192.168.186.1&#xff0c;下挂ap的ip是192.168.202.199/24&#xff0c;ac上开子接口192.168.202.1/24&#xff0c;ac上开…

ASP.NET Zero是什么?适合哪些业务场景?

一、ASP.NET Zero是什么&#xff1f; ASP.NET Zero 是一个基于 ASP.NET Boilerplate (ABP) 框架的模板项目&#xff0c;它提供了预建的页面和强大的基础设施架构&#xff0c;以便开发者能够快速开发应用层。它的特点包括但不限于&#xff1a; 多合一解决方案&#xff1a;提供多…

大数据比懂知识点:Parquet、ORC还是Avro作为数据存储格式,哪种在性能和压缩率上更优

目录 第一章 相关理论 1.1 Parquet格式介绍 1.1.1 起源与发展 1.1.2 特点与优势 1.2 ORC格式介绍 1.3 Avro格式介绍 1.3.1 跨语言支持 1.3.2 动态映射 1.3.3 丰富的数据模式 1.3.4 数据模式灵活性 第二章 种格式性能比较 2.1 读写性能对比 2.2 查询性能对比 2.3 压…

Oracle架构之物理存储之日志文件

文章目录 1 日志文件1.1 重做日志文件&#xff08;Redo Log Files&#xff09;1.1.1 定义1.1.2 联机日志的相关概念1.1.3 动态性能视图1.1.4 手工切换日志1.1.5 添加日志文件组和日志组成员1.1.6 删除日志组和日志组成员1.1.6.1 前言1.1.6.2 删除日志组1.1.6.3 删除日志组成员 …