廖雪峰python教程阅读之条件判断
条件判断
计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。
比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现:
age = 20
if age >= 18:print('your age is', age)print('adult')
根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。
也可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了:
age = 3
if age >= 18:print('your age is', age)print('adult')
else:print('your age is', age)print('teenager')
注意不要少写了冒号:。
当然上面的判断是很粗略的,完全可以用elif做更细致的判断:
age = 3
if age >= 18:print('adult')
elif age >= 6:print('teenager')
else:print('kid')
elif是else if的缩写,完全可以有多个elif,所以if语句的完整形式就是:
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else,所以,请测试并解释为什么下面的程序打印的是teenager:
age = 20
if age >= 6:print('teenager')
elif age >= 18:print('adult')
else:print('kid')
if判断条件还可以简写,比如写:
if x:print('True')
只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。
再议 input
最后看一个有问题的条件判断。很多同学会用input()读取用户的输入,这样可以自己输入,程序运行得更有意思:
birth = input('birth: ')
if birth < 2000:print('00前')
else:print('00后')
输入1982,结果报错:
Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: unorderable types: str() > int()
这是因为input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数。Python提供了int()函数来完成这件事情:
s = input('birth: ')
birth = int(s)
if birth < 2000:print('00前')
else:print('00后')
再次运行,就可以得到正确地结果。但是,如果输入abc呢?又会得到一个错误信息:
Traceback (most recent call last):File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'abc'
原来int()函数发现一个字符串并不是合法的数字时就会报错,程序就退出了。
如何检查并捕获程序运行期的错误呢?后面的错误和调试会讲到。
总结: 1.if-else-elif 2.int()函数 |
廖雪峰python教程阅读之条件判断相关推荐
- python 廖雪峰数据分析统计服_廖雪峰python教程阅读量统计
统计了下廖老师的python教程各个小节的阅读量(毫无卵用),廖老师网站反爬做的比我们教务系统可是好多了,一定时间内访问次数多会禁止,反正数据量也不多,就慢慢来,基本上也不会对网站造成什么影响. 刚学 ...
- 廖雪峰python教程阅读之安装python
因为Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上.在Windows上写Python程序,放到Linux上也是能够运行的. 要开始学习Python编程,首先 ...
- Python 3 学习(一)—— 基础:廖雪峰 Python 教程学习笔记
文章目录 Python教程 值类型和引用类型 列表和字典的基本操作 列表 元组 字典 Set 函数 内置函数 定义函数 空函数 参数检查 定义默认参数要牢记一点:默认参数必须指向不变对象! Pytho ...
- 廖雪峰Python教程-笔记
廖雪峰Python教程 学习范围: Python基础 函数 高级特性 函数性编程 模块 面向对象编程 错误,调试和测试 IO编程 笔记: Python的整数没有大小限制 Python 3的字符串使用U ...
- 廖雪峰python教程视频-为什么看不懂廖雪峰的Python学习教程?
廖雪峰的Python教程已经很友好了,接近于把饭喂到嘴边了. 这不是廖雪峰教程的问题,而是一个基础代码技能和实际应用需求的代码技能差距太远导致的. 如果是新手,只学会了廖雪峰Python教程,那约等于 ...
- 廖雪峰python教程完整版-为什么看不懂廖雪峰的Python学习教程?
廖雪峰的Python教程已经很友好了,接近于把饭喂到嘴边了. 这不是廖雪峰教程的问题,而是一个基础代码技能和实际应用需求的代码技能差距太远导致的. 如果是新手,只学会了廖雪峰Python教程,那约等于 ...
- 廖雪峰python教程在哪看_:廖雪峰python教程在哪
标签,你可以自己查看网页源代码. 廖雪峰的python教程有一点地方没看明白,求指导 题主贴了函数,似乎是一样的,就分析这一个版本:def add_end(L=None): if L is None: ...
- 廖雪峰Python教程 实战day05
廖雪峰Python教程 实战day05 1. Web程序工作流程 本文部分文字内容.图片摘自<Flask Web开发实战:入门.进阶与原理解析>,作者李辉. 在编写自己的Web框架之前,首 ...
- 会python再学java要多久_【学过python多久能学会java】廖雪峰python教程要学多久
自学完廖雪峰python可以找到相关工作吗? 如果只是学完廖雪峰的教程我觉得是不够的,你必须对一些方面有更加深入的实践和学习.我是工作中需要用到python,看了廖雪峰的教程,实现快速开发. 学过py ...
最新文章
- 【转】 LDA必读的资料
- 计算机科学和Python编程导论(六) 测试与调试
- Resolving Problems installing the Java JCE Unlimited Strength Jurisdiction Policy Files package--转
- MyBatisPlus条件构造器带条件删除delete使用
- Flink SQL Client的Rolling Aggregation实验解析
- .NET CoreCLR开发人员指南(上)
- JDK 9.0.4 报错:程序包 com.sun.xml.internal.fastinfoset.stax.events 不存在/不可见
- linux 和服务通讯,Android 的Activity和Service之间的通信
- VirtualBox安装完Linux却进不了系统
- mongo快速翻页方法(转载)
- 瑞幸之后,又一支中概股自曝:虚增收入,股价盘后大跌
- java常用算法_五分钟记住Java常用的八种排序算法与代码实现
- APNs Push Notification教程一
- Photoshop插件-证件照-白红蓝底-PS插件-脚本开发
- 如何利用ikuai将闲置电脑配作软路由器?
- uniapp 自定义模板
- DISCUZ!X1模板home空间模板修改说明home.php
- Java中文分词组件 - word分词
- c语言scanf输入无理数,简单C语言scanf输入问题
- Hangfire详解
热门文章
- 安装 Apache+php+mysql+phpMyAdmin XAMPP及错误解决办法
- OpenWRT 学习笔记 -- 用户自定义添加app的开机自启动
- 解决springboot项目部署时视上传视频太大导致的内存溢出问题
- 【Excel】Excel中实现中文转拼音(自定义函数方式)
- LOJ 10155 - 「一本通 5.2 例 3」数字转换
- 反爬与反反爬常见知识点
- 微信网页版前端源码分析(一)源码结构和公众号处理逻辑
- 21届实习腾讯面试的经验贴(已凉)
- Java开发高频英语单词800+,熟悉后英文障碍又少了
- 生命探测仪能穿墙能探废墟 但不能穿透金属(图)