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
请在候车大厅等待上车


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

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

今天就到这里啦!

目录
相关文章
|
16天前
|
Python
python集合的创建案例分享
【4月更文挑战第11天】在Python中,通过大括号或`set()`函数可创建集合。示例包括:使用大括号 `{}` 创建带元素的集合,如 `{1, 2, 3, 4, 5}`;使用 `set()` 函数从列表转换为集合,例如 `set([1, 2, 3, 4, 5])`,以及创建空集合 `set()`。当元素有重复时,集合会自动去重,如 `set([1, 2, 2, 3, 4, 4, 5])`。但尝试将不可哈希元素(如列表、字典)放入集合会引发 `TypeError`。
17 1
|
20天前
|
Python
Python文件操作学习应用案例详解
【4月更文挑战第7天】Python文件操作包括打开、读取、写入和关闭文件。使用`open()`函数以指定模式(如'r'、'w'、'a'或'r+')打开文件,然后用`read()`读取全部内容,`readline()`逐行读取,`write()`写入字符串。最后,别忘了用`close()`关闭文件,确保资源释放。
18 1
|
1月前
|
JSON JavaScript 前端开发
Python中使用JsonPath:概念、使用方法与案例
Python中使用JsonPath:概念、使用方法与案例
44 0
|
4天前
|
人工智能 Python
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
9 0
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
总结几个GPT的超实用之处【附带Python案例】
总结几个GPT的超实用之处【附带Python案例】
|
12天前
|
Python
[重学Python]Day 2 Python经典案例简单习题6个
[重学Python]Day 2 Python经典案例简单习题6个
15 0
|
20天前
|
Python
Python数据类型学习应用案例详解
Python基础数据类型包括整数(int)、浮点数(float)、字符串(str)、布尔值(bool)、列表(list)、元组(tuple)、字典(dict)和集合(set)。整数和浮点数支持算术运算,字符串是不可变的文本,布尔值用于逻辑判断。列表是可变有序集合,元组不可变。字典是键值对的无序集合,可变,而集合是唯一元素的无序集合,同样可变。示例代码展示了这些类型的基本操作。
11 1
|
20天前
|
Python
Python控制结构学习应用案例详解
Python控制结构包含条件语句、循环语句和异常处理。条件语句用if-elif-else判断数字正负;for循环示例输出1到10的整数,while循环计算1到10的和;异常处理用try-except-finally处理除零错误,打印提示信息并结束。
10 3
|
20天前
|
Python
Python函数学习应用案例详解
【4月更文挑战第7天】学习Python函数的应用,包括计算两数之和、判断偶数、计算阶乘、生成斐波那契数列及反转字符串。示例代码展示了函数接收参数和返回结果的功能,如`add(a, b)`求和,`is_even(num)`判断偶数,`factorial(n)`计算阶乘,`fibonacci(n)`生成斐波那契数,以及`reverse_string(s)`反转字符串。
14 1
|
20天前
|
Python
Python面向对象编程学习应用案例详解
面向对象编程在Python中通过类定义对象结构和行为。示例:1) 使用`class`关键字定义类,如`class Person`;2) `__init__`方法初始化对象属性,如`self.name`和`self.age`;3) 实例化对象,如`person1 = Person(&quot;张三&quot;, 25)`;4) 访问属性和方法,如`person1.name`;5) 定义类方法,如`def introduce(self)`;6) 调用方法,如`person1.introduce()`;7) 类继承,如`class Student(Person)`;8) 多态,通过继承重写方法实现。
9 1