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. C# WinForm MessageBox弹窗倒计时的自动关闭

    [DllImport("user32.dll", EntryPoint = "FindWindow")]        private static exter ...

  2. leetcode 11. Container With Most Water 、42. Trapping Rain Water 、238. Product of Array Except Self 、407. Trapping Rain Water II

    11. Container With Most Water https://www.cnblogs.com/grandyang/p/4455109.html 用双指针向中间滑动,较小的高度就作为当前情 ...

  3. 【转载】 漫谈Code Review的错误实践

    原文地址: https://www.cnblogs.com/chaosyang/p/code-review-wrong-practices.html ------------------------- ...

  4. ISO/IEC 9899:2011 条款6.7——声明

    6.7 声明 语法 1.declaration: declaration-specifiers    init-declarator-listopt    ; static_assert-declar ...

  5. 基于spark logicplan的表血缘关系解析实现

    随着公司平台用户数量与表数量的不断增多,各种表之间的数据流向也变得更加复杂,特别是某个任务中会对源表读取并进行一系列复杂的变换后又生成新的数据表,因此需要一套表血缘关系解析机制能清晰地解析出每个任务所 ...

  6. java8 数据集过滤removeIf和filter

    对象如下,需求:只要30岁以下的人 //求职者的实体类 public class Person { private String name;//姓名 private Integer age;//年龄 ...

  7. php报错syntax error, unexpected T_GOTO, expecting T_STRING,报错文件与行数指向以下代码,是什么原因?

    本机php版本是5.3.8,Apache/2.2.21public function goto($url, $msg=NULL) {if ($msg) {$this->jsAlert($msg) ...

  8. netty5拆包问题解决实例

    基于之前的例子(参见netty5自定义私有协议实例),我们修改下客户端handler,让发送的数据超过1024字节: NettyClientHandler: /** * 构造PCM请求消息体 * * ...

  9. python多线程中join()的理解

    在 Python 的多线程编程中,经常碰到 thread.join()这样的代码.那么今天咱们用实际代码来解释一下 join 函数的作用. 第一,当一个进程启动之后,会默认产生一个主线程,因为线程是程 ...

  10. 深入学习c++--多线程编程(二)【当线程间需要共享非const资源】

    1. 遇到的问题 #include <iostream> #include <thread> #include <chrono> #include <futu ...