python基础 循环语句经典案例 坐火车

简介: python基础 循环语句经典案例 坐火车

三岁用白话和你一起学python

循环语句经典案例:坐火车


什么是坐火车



现在对火车站管理严格,去坐火车需要买车票,然后才可以过安检,进大厅,候车。

过安检需要查看是否有违禁品等。


我们编写一个程序查看进火车站的流程


需要考虑的问题


  • 买车票
  • 安检
  • 是否有违禁品
  • 违禁品是不是刀具
  • 刀具长度(本例子以刀身长度超过150毫米的各类单刃、双刃和多刃刀具为例长度为15厘米)
  • 进站候车


申明


本文只是举例,并非实际规定

下图为官方规定截取


20200325174818185.jpg

伪代码



输入:是否买票
买了:
    可以安检
    是否有违禁品:
    没有   候车
    有:   是否为刀具
    刀具长度:
    小于15或大于15
没买:


基础代码



ls = eval(input('请输入是否买车票(购买:1,未购买:0): ')
le = eval(input('刀具长度(大于等于0):')
if ls == 1 :
    print('请进行安检:')
    if le <= 15 :
        print('请在候车大厅等待上车')
    else:
        print('有违禁品不能够进入')
else:
    print('没有车票不能进入,请去售票大厅购票')
测试结果
请输入是否买车票(购买:1,未购买:0): 1
刀具长度(大于等于0):12
请进行安检:
请在候车大厅等待上车


代码解析:

eval():格式化输入内容,使输入内容原始化(输入的形式与输出形式相同)

input():输入函数,输入结果统一为字符串

# 使用eval(input())就是使输入结果为原始内容(该处也可以使用int()强制转换)

if进行判定用来检测,判断


代码疑惑


该代码结果与实际顺序不符

安检后直接出结果,不符合实际。

进行以下修改:


代码修改


ls = eval(input('请输入是否买车票(购买:1,未购买:0): '))
if ls == 1 :
    print('请进行安检:')
    le = eval(input('刀具长度(大于等于0):'))
    if le <= 15 :
        print('请在候车大厅等待上车')
    else:
        print('有违禁品不能够进入')
else:
    print('没有车票不能进入,请去售票大厅购票')
测试结果:
请输入是否买车票(购买:1,未购买:0): 1
请进行安检:
刀具长度(大于等于0):2
请在候车大厅等待上车


该代码相对符合实际,但是话说回来突然问一句刀具长度有好多人都慌了,能不能改进一下


代码改进弍


ls = eval(input('请输入是否买车票(购买:1,未购买:0): '))
if ls == 1 :
    print('请进行安检:')
    lf = eval(input('请输入是否有刀具(有:1,无:0): '))
    if lf == 0:
        print('请在候车大厅等待上车')
    else:
        le = eval(input('刀具长度(大于等于0):'))
        if le <= 15 :
            print('请在候车大厅等待上车')
        else:
            print('有违禁品不能够进入')
else:
    print('没有车票不能进入,请去售票大厅购票')
测试1:
请输入是否买车票(购买:1,未购买:0): 1
请进行安检:
请输入是否有刀具(有:1,无:0): 0
请在候车大厅等待上车
测试2
请输入是否买车票(购买:1,未购买:0): 1
请进行安检:
请输入是否有刀具(有:1,无:0): 1
刀具长度(大于等于0):15
请在候车大厅等待上车


这个代码基本上没有什么大问题的,这个简单的代码解决了一个简单的问题,棒棒哒!!!

写代码嘛,个人认为就是多测试,多修改!!!

今天就到这里啦!

目录
相关文章
|
9月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
1622 1
|
9月前
|
数据采集 监控 数据库
Python异步编程实战:爬虫案例
🌟 蒋星熠Jaxonic,代码为舟的星际旅人。从回调地狱到async/await协程天堂,亲历Python异步编程演进。分享高性能爬虫、数据库异步操作、限流监控等实战经验,助你驾驭并发,在二进制星河中谱写极客诗篇。
Python异步编程实战:爬虫案例
Python中的循环可以嵌套使用吗?
Python中的循环可以嵌套使用吗?
581 57
|
10月前
|
设计模式 缓存 运维
Python装饰器实战场景解析:从原理到应用的10个经典案例
Python装饰器是函数式编程的精华,通过10个实战场景,从日志记录、权限验证到插件系统,全面解析其应用。掌握装饰器,让代码更优雅、灵活,提升开发效率。
638 0
|
数据可视化 算法 数据挖掘
Python 3D数据可视化:7个实用案例助你快速上手
本文介绍了基于 Python Matplotlib 库的七种三维数据可视化技术,涵盖线性绘图、散点图、曲面图、线框图、等高线图、三角剖分及莫比乌斯带建模。通过具体代码示例和输出结果,展示了如何配置三维投影环境并实现复杂数据的空间表示。这些方法广泛应用于科学计算、数据分析与工程领域,帮助揭示多维数据中的空间关系与规律,为深入分析提供技术支持。
533 0
Python 3D数据可视化:7个实用案例助你快速上手
|
数据采集 存储 NoSQL
Python爬虫案例:Scrapy+XPath解析当当网网页结构
Python爬虫案例:Scrapy+XPath解析当当网网页结构
|
机器学习/深度学习 算法 关系型数据库
Python循环进阶:嵌套与控制的深度解析
本文深入探讨Python中嵌套循环的原理与应用,从数学模型到工程实践全面解析。内容涵盖嵌套循环的本质(如笛卡尔积实现、变量作用域)、精细控制技巧(如break/continue、迭代器协议、异常处理),以及性能优化策略(预计算、向量化等)。同时结合树形结构遍历、动态规划、游戏开发等典型场景,提供最佳实践建议。掌握这些技巧,助你突破编程瓶颈,实现复杂问题的优雅解决。
418 6
|
存储 Shell 开发者
Python用户输入与While循环
本文介绍了Python中用户输入与while循环的结合使用,通过`input()`函数获取用户输入,并利用while循环实现重复操作,如创建交互式程序或用户驱动的循环。示例代码展示了如何让用户输入数字并计算总和,直到输入指定退出命令。这种组合能帮助开发者构建强大的交互式Python应用。
401 1
|
搜索推荐 算法 程序员
6个案例15分钟让你了解Python套路
Python以其简洁易读的语法,成为编程初学者的首选。本文通过7个经典代码案例,带你快速了解Python编程的核心概念和常用技巧: 1. **九九乘法口诀**:使用嵌套循环打印乘法表。 2. **列表求和**:展示两种方法(for循环和内置函数sum())计算列表元素之和。 3. **素数判断**:编写函数判断一个数是否为素数。 4. **斐波那契数列**:生成指定长度的斐波那契数列。 5. **冒泡排序**:实现简单的冒泡排序算法。 6. **汉诺塔问题**:通过递归解决经典的汉诺塔问题。 这些案例不仅展示了Python的基础语法,更体现了编程思维的重要性,帮助初学者逐步掌握编程套路。
476 2
|
开发工具 Python
[oeasy]python043_自己制作的ascii码表_循环语句_条件语句_缩进_indent
本文介绍了如何使用Python制作ASCII码表,回顾了上一次课程中`print`函数的`end`参数,并通过循环和条件语句实现每8个字符换行的功能。通过调整代码中的缩进,实现了正确的输出格式。最后展示了制作完成的ASCII码表,并预告了下一次课程的内容。
300 2

推荐镜像

更多