if 语句的使用

单分支

if 条件:
满足条件后要执行的代码

例如:

if 2 < 3:
print(222)
print(333)

每个条件后面都要使用冒号 :, 表示接下来是满足条件后要执行的语句块

在Python中没有 switch - case 语句

双分支

if 条件:
满足条件要执行的代码
else:
不满足条件就执行这里的代码

例如:

age = 18
if age >= 18:
print('恭喜你, 成年了')
else:
print('小屁孩儿')

缩进

你会发现, 在上面的代码中, 每个条件的下一行都缩进了4个空格. 这是python的特色.

C/C++等语言利用花括号来构造代码块, 而python使用缩进的方式构造代码块.

Python缩进有几个原则:

顶级代码必须顶行写. 即如果一行代码不依赖任何条件, 则不需要进行缩进

同一级别的代码, 缩进必须一致

官方建议缩进用4个空格.

回到 if 中来, 条件控制也可以有多个分支条件

if elif elif ...

if 条件:
满足条件要执行的代码
elif 条件:
上面的条件不满足就执行这个代码
elif 条件:
上面的条件不满足就执行这个代码
...

例如:

num = int(input('请输入一个数字: '))
if num == 1:
print('晚上一起吃饭')
elif num == 2:
print('晚上一起溜达')
elif num == 3:
print('晚上一起玩游戏')

if elif elif ... else

if 条件:
满足条件要执行的代码
elif 条件:
上面的条件不满足就执行这个代码
elif 条件:
上面的条件不满足就执行这个代码
else:
上面所有的条件不满足就执行这个代码

例如:

num = int(input('请输入一个数字: '))
if num == 1:
print('晚上一起吃饭')
elif num == 2:
print('晚上一起代码')
elif num == 3:
print('晚上一起溜达')
else:
print('晚上一起玩游戏')

下面是 if 中常用的操作运算符:

操作符 描述
< 小于
<= 小于或等于
> 大于
>= 大于或等于
== 等于, 比较两个值是否相等
!= 不等于

嵌套if


if 条件:
if 条件:
if 条件:
...
else:
...

例如:

username = input('请输入用户名: ')
password = input('请输入密码: ')
code = 'df23'
your_code = input('请输入验证码: ') if your_code == code:
if username == 'Conan' and password == '123':
print('登录成功')
else:
print('账号或密码错误')
else:
print('验证码错误.')

练习

练习1 利用if语句写出猜大小的游戏

"""
设定一个理想数字比如: 66, 让用户输入数字, 如果比66大, 则显示猜的结果大了; 如果比66小, 则显示猜的结果小了; 只有等于66, 则显示猜的结果正确.
""" num = int(input('请输入一个数字: '))
if num > 66:
print('结果大了')
elif num < 66:
print('结果小了')
elif num == 66:
print('结果正确')

练习2 提示用户输入他的年龄, 程序进行判断.

"""
如果小于10,提示小屁孩; 如果大于10,小于20, 提示青春期叛逆的小屁孩; 如果大于20,小于30.提示开始定性,开始混社会的小屁孩; 如果大于30,小于40提示看老大不小了,赶紧结婚小屁孩; 如果大于40, 小于50.提示家里有个不听话的小屁孩; 如果大于50.小于60.提示自己马上变成不听话的老屁孩; 如果大于60,小于70.提示活着还不错的老屁孩; 如果大于70,小于90.提示人生就快结束了的一个老屁孩; 如果大于90以上提示.再现了这个世界。
""" age = int(input('请输入年龄: '))
if age < 10:
print('小屁孩')
elif age < 20:
print('青春期叛逆的小屁孩')
elif age < 30:
print('开始定性, 开始混社会的小屁孩')
elif age < 40:
print('老大不小了, 赶紧结婚小屁孩')
elif age< 50:
print('家里有个不听话的小屁孩')
elif age < 60:
print('自己马上变成不听胡的老屁孩')
elif age < 70:
print('或者还不错的老屁孩')
elif age < 90:
print('人生就快结束了的一个老屁孩')
elif age > 90:
print('再见了这个世界')

练习3 百分制成绩转等级制

"""
用户输入一个分数, 根据分数来判断用户考试成绩的档次.
>=90 A
>=80 B
>=70 C
>=60 D
<60 不及格
""" score = int(input('请输入你的分数: '))
if score >= 90:
print('A')
elif score >=80:
print('B')
elif score >=70:
print('C')
elif score >=60:
print('D')
elif score < 60:
print('不及格')

这里有个问题, 就是当用户输入97的时候, 它打印的结果为 A, 但是95明明也大于80呀, 为什么不打印呢?

这是因为代码是从上到下依次判断, 只要满足一个, 就不会继续往下走了, 这一点要清楚.

练习4

"""
提示用户输入麻花藤, 判断用户输入的对不对. 如果对, 提示真聪明; 如果不对, 提示输入有误
""" s = input('请输入麻花藤: ')
if s == '麻花藤':
print('真聪明')
else:
print('输入有误')

练习5

"""
判断输入的边长能否构成三角形, 如果可以则计算出三角形的周长.
""" a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a + b > c and a + c > b and b + c > a:
print(a + b + c)
else:
print('a, b, c不能构成三角形')

『Python基础』第5节:条件控制的更多相关文章

  1. 『Python基础』第4节:基础数据类型初识

    本节只是对基础数据类型做个简单介绍, 详情会在之后慢慢介绍 什么是数据类型? 我们人类可以分清数字与字符串的区别, 可是计算机不能. 虽然计算机很强大, 但在某种程度上又很傻, 除非你明确告诉它数字与 ...

  2. 『Python基础』第6节:流程控制之while循环

    在生活中经常遇到循环的事情, 比如循环列表播放歌曲等. 在Python中, 也有循环, 就是其流程控制语句while. 1. 基本循环 while 条件: 循环体 # 如果条件为真, 那么就执行循环体 ...

  3. 『Python基础』第2节: Python简介及入门

    一. Python介绍 Python是一门高级计算机程序设计语言,1989年,荷兰的Guido von Rossum创造了它.Guido是是一个牛人,1982年,他从阿姆斯特丹大学获得了数学和计算机硕 ...

  4. 『Python基础』第39节 函数的返回值

    1. 函数的返回值 ​ 一个函数就是封装一个功能, 这个功能一般都会有一个最终结果的. ​ 比如写一个登录的函数, 最终登录是否成功你总得告诉我一声吧? ​ 还有咱们之前也用过 len() 这个函数, ...

  5. 『Python基础』第7节:基本运算符

    一. 基本运算符 运算按种类可以分为: 算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算. 今天我们只学习算数运算.比较运算.逻辑运算.赋值运算.成员运算 1.1 算数运算 以下假设 ...

  6. 『Python基础』第20节:深浅copy

    一. 赋值运算 l1 = [1, 2, 'conan', [11, 22]] l2 = l1 l1[0] = 111 print(l1) # [111, 2, 'conan', [11, 22]] p ...

  7. 『Python基础』第8节:格式化输出

    现在有一个需求, 询问用户的姓名, 年龄, 工作, 爱好, 然后打印成以下格式 ************ info of Conan ************ name: Conan age: 23 ...

  8. 『Python基础』第1节 Windows环境下安装Python3.x

    一. Python安装 1. 下载安装包 https://www.python.org/downloads/release/python-374/ # 3.7安装包 # 如需安装python2.7版本 ...

  9. 『Go基础』第5节 第一个Go程序

    本节我们来学习写一个最简单的Go程序: 打印 Hello Go. 第一个Go程序, 只要跟着做, 留下个印象就可以. 用Goland创建一个 hello_go.go 文件(后缀为 .go ). 文件内 ...

随机推荐

  1. uSurvival 1.41多人在线生存逃杀吃鸡类游戏源码

    uSurvival - the new Multiplayer Survival Asset from the creator of uMMORPG. Features:* Kill Zombies ...

  2. Unity3D 2D模拟经营游戏 洗车沙龙 完整源码

    Car Wash Salon Game 描述洗车模板与几个迷你游戏相关的汽车清洁,洗涤和装饰. 简单但有趣的游戏和伟大的视觉效果. 此模板不包含在应用中! 自定义应用程序的示例,有些功能在本项目中不受 ...

  3. PathVariable传过来的中文乱码是怎么回事

    今天在写一个spring mvc程序,由于客户原来设计的原因,不能传id过来,只能传名称,结果发现收到的数据是乱码. 百度之后,找到别人的解决方案,试了下没问题,转载一下.使用的web服务器是Tomc ...

  4. 自然语言处理中注意力机制---Attention

    使用Multi-head Self-Attention进行自动特征学习的CTR模型 https://blog.csdn.net/u012151283/article/details/85310370 ...

  5. 大数据/NoSQL经典电子书pdf下载

    Hadoop系列 Cloudera出品的各种官方文档 入门必备 https://www.cloudera.com/documentation.html Cloudera Hadoop大数据平台实战指南 ...

  6. PrivateIpAddresses Array of String 实例主网卡的内网IP列表。 PublicIpAddresses Array of String 实例主网卡的公网IP列表。 注意:此字段可能返回 null,表示取不到有效值。

    https://cloud.tencent.com/document/api/213/15753 浮动 IP 地址 https://cloud.google.com/solutions/best-pr ...

  7. MySQL TiDB PingCAP mydumper

    MySQL备份之[mydumper 学习] - jyzhou - 博客园https://www.cnblogs.com/zhoujinyi/p/3423641.html maxbube/mydumpe ...

  8. Centos7迁移fastdfs文件系统

    系统从一个地方迁移到另一个地方,数据保持不变,但是ip地址和网络情况不一样了,最困难的是要迁移的那个地方还么有互联网,这TM就坑了,所以想到将FastDFS存储的目录整体拷贝过去,这个方法简单粗暴,这 ...

  9. 【笔试题】某公司中有N名员工。给定所有员工工资的清单

    排列员工工资顺序(C++map解法) 题目描述:某公司中有N名员工.给定所有员工工资的清单,财务人员要按照特定的顺序排列员工的工资.他按照工资的频次降序排列.即给定清单中所有频次较高的工资将在频次较低 ...

  10. phpstorm yii2框架的redis和mongodb提示

    随便找个目录创建一个 yii_helper.php 文件,内容如下: /** * Class Yii */ class Yii { /** * @var MyApplication */ public ...