当前位置: 首页 > news >正文

21. python if else 条件判断语句

21. python if else 条件判断语句

文章目录

  • 21. python if else 条件判断语句
    • 1. 如果…就…;否则就…
    • 2. 体验代码
    • 3. else语法
    • 4. 代码优化
    • 5. 课堂练习
    • 6. 课后练习
    • 7. 总结

1. 如果…就…;否则就…

上节课我们学了if表示如果…就…

生活中,除了如果…就…,我们还有如果…就…;否则就…

【举例说明1】

如果我下个月涨工资,我就请你吃西餐;否则我就请你吃路边摊。

【条件】是否涨工资
【True】吃西餐
【False】路边摊

【举例说明2】

整数中,如果能被2整除就是偶数,否则是奇数。

【条件1】首先是一个整数
【条件2】是否能被2整除
【True】偶数
【False】奇数

2. 体验代码

我们用if...else...语句来写一个判断奇偶数的小程序。

【思路分析】

【条件1】首先是一个整数:可以要求用户输入一个整数
【条件2】是否能被2整除:整除就是余数为0,取余用符号%
【True】偶数
【False】奇数

# 1. 用input函数从终端获取一个值
# 2. 用int函数将得到字符串类型的值转换为整数,并赋值给变量num
num = int(input("请输入一个整数:"))

# 用if语句判断num除以2的余数是否等于0
if num % 2 == 0 :
    # 如果余数为0,则输出偶数
    print("偶数")
else:
    # 如果余数不为0,则输出奇数
     print("奇数")     

【终端输出】

奇数

终端中我输入的是7,所以输出结果为奇数。

【代码解析】

第1行代码:首先用input函数获取终端输入的值;然后用int函数将得到字符串类型的值转换为整数,并赋值给变量num。因为input函数得到的数据类型为字符串类型,因此需要用int函数进行转换。

第2行代码:if num % 2 == 0 :意思是如果num除以2的余数为0。【温馨提示】1.取余用%;2.是否相等用==;3.注意if语句以英文冒号结尾。

第3行代码:print("偶数")。这是第1个print函数,它紧跟在if语句之后,这个print函数只有在条件成立时才会被调用。

第4行代码:else语句,意思是否则,即条件不成立时执行它下面的语句。

第5行代码:print("奇数")。这是第2个print函数,它紧跟在else语句之后,这个print函数只有在条件不成立时才会被调用。

【温馨提示】

两个print函数只会有一个被调用。
一个数不可能既是偶数又是奇数。
我也不能请你吃了西餐还吃路边摊(就算我请,你也吃不下了哈哈)。

3. else语法

在这里插入图片描述

【语法要点】

一个else语句包含有4个要素:

  1. 关键词else

  2. 英文冒号:

  3. 4个空格的缩进

  4. 代码块

【温馨提示】

在这里插入图片描述

在我们写完第1个print函数回车后,鼠标光标与print函数的首字母P对齐。
这时我通常用Ctrl+使鼠标光标向前退四格与if关键字的首字母i对齐,然后再输入else

【切记】if和else两个关键字要对齐。

4. 代码优化

我们上面写的代码只输出了偶数奇数,表达不够直观,我们下面对代码进行优化,让程序最终能输出:X是偶数X是奇数。X代表我们从终端输入的数。

num = int(input("请输入一个整数:"))

if num % 2 == 0 :
    print(str(num)+"是偶数")
else:
     print(str(num)+"是奇数")

【终端输出】

7是奇数

操作很简单,只用到了2个知识点:

1.使用str函数将num(整数类型)转换为字符串类型。
2.使用+拼接2个字符。

5. 课堂练习

1.用input函数输入你的支付密码;
2.定义变量存储你的支付密码;
3.用if语句判断你输入的密码是否在正确;
4.如果密码正确,输出【密码正确,支付成功!】
5.如果密码不正确,输出【密码错误,支付失败!】
6.上述代码执行完毕后,输出:【程序结束!】

【参考答案】

in_password = input("请输入您的支付密码(6位数):")
password = '123456'
if in_password == password :
    print("密码正确,支付成功!")
else:
    print("密码错误,支付失败!")
print("程序结束!")

【终端输出】

密码错误,支付失败!
程序结束!

【代码的执行顺序】

在这里插入图片描述

上述代码中第3,4,5,6行代码是一个整体的判断语句,第7行print("程序结束!")的位置是从头开始编辑的,他不属于条件判断语句,因此不管条件是否成立,输出的结果是什么,第7行代码都会被执行。

条件成立,执行的代码有第1,2,3,4,7行。

条件不成立,执行的代码有1,2,3,5,6,7行。

在这里插入图片描述

【切记】初学者一定要注意print的位置。
【切记】初学者一定要注意print的位置。
【切记】初学者一定要注意print的位置。

后面我们要学的循环结构,print位置也很重要。
初学者最容易混淆的就是print的位置。
print的所在的位置不同,输出的结果千差万别。

6. 课后练习

编写一个小程序,猜一猜我的体重(用input函数输入)。
假设我的体重为50公斤。
如果猜重了,输出【我可没那么胖!】
如果猜轻了,输出【我可没那么瘦!】

【参考答案】

weight = float(input("猜猜我有多少斤:"))

if weight > 50 :
    print("我可没那么胖!")
else:
    print("我可没那么瘦!")
    
print("程序结束!")

【终端输出】

我可没那么瘦!
程序结束!

input函数前我用了float函数,因此终端输入可以是整数,也可以是浮点数。

7. 总结

在这里插入图片描述

相关文章:

  • 22. if...elif...else 多向判断
  • ubuntu 命令行提示符 颜色
  • ubuntu 中的git 如何下载具体的reposotory github desktop桌面应用
  • 如何5秒解决PyCharm下Django项目执行之后出现TypeError: 'os.stat_result' object is not callable的问题
  • 使用当前目录的 Dockerfile 创建镜像 docker build使用dockerfile创建docker镜像
  • 推荐:学习人工智能(AI)的一些网站及教程资源
  • ubuntu linux后台的程序哪些正在运行
  • 超详细的GO语言windows系统开发环境的搭建及其项目的创建(2019年8月25日更新)
  • 值得你阅读的Hexo个人博客搭建
  • 如何知道一个镜像里有哪些容器 查看镜像里的容器
  • 每日算法之旅(第一天):枚举算法的平凡与伟大
  • 保存对容器的修改 当你对某一个容器做了修改之后(通过在容器中运行某一个命令),可以把对容器的修改保存下来,这样下次可以从保存后的最新状态运行该容器
  • 每日算法之旅(第三天):分而治之​算法思想
  • r语言从网页下载东西内容 r安装特定版本的r包 r从网页下载 安装包
  • 看这篇C语言基础就够了(2020-04-19)
  • [数据结构]链表的实现在PHP中
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • Android框架之Volley
  • gops —— Go 程序诊断分析工具
  • Java程序员幽默爆笑锦集
  • Linux各目录及每个目录的详细介绍
  • PHP的类修饰符与访问修饰符
  • vue.js框架原理浅析
  • windows下mongoDB的环境配置
  • - 概述 - 《设计模式(极简c++版)》
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 判断客户端类型,Android,iOS,PC
  • 入手阿里云新服务器的部署NODE
  • 使用 Docker 部署 Spring Boot项目
  • 手写双向链表LinkedList的几个常用功能
  • 优化 Vue 项目编译文件大小
  • 正则表达式小结
  • 如何在招聘中考核.NET架构师
  • 如何正确理解,内页权重高于首页?
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​Linux·i2c驱动架构​
  • ​linux启动进程的方式
  • ${factoryList }后面有空格不影响
  • (007)XHTML文档之标题——h1~h6
  • (ZT)薛涌:谈贫说富
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (四)linux文件内容查看
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • ./和../以及/和~之间的区别
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .net 验证控件和javaScript的冲突问题
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .NET微信公众号开发-2.0创建自定义菜单
  • @AutoConfigurationPackage的使用
  • @Autowired多个相同类型bean装配问题