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. JVM 类的卸载

    1.当某个类被加载,连接和初始化后,它的生命周期就开始了.当代表这个类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期,这个类在方法区内的数据也会被卸载,从而结束这个类的生命周 ...

  2. laravel修改了配置文件不生效,修改了数据库配置文件不生效

    Laravel缓存配置文件,因此您可能只需要清除缓存: php artisan config:clear 转: http://www.voidcn.com/article/p-sgcusrjp-bxw ...

  3. 微信小程序的z-index在苹果ios无效

    1.在微信开发者工具可以正常显示 2.在安卓真机手机可以正常显示 3.在ios手机真机无法正常显示 原因:父级view的css属性有 position: fixed; ,把它注释掉即可

  4. C++main函数命令行选项——学习笔记

    atoi字符串的数转化为整数 atof转化为小数

  5. PostgreSQL 数据库备份与恢复 pd_dump pg_restore

    备份 PG 数据库生成的文件可以有两种,一种是 SQL 文件,一种是二进制文件,二进制文件只能使用 pg_restore 进行恢复. PostgreSQL 数据库操作简要说明 PostgreSQL数据 ...

  6. ZingChart 隐藏数据点

    正常情况下 zingChart 的数据点会显示到图表中,但是如果数据点很多的情况下,可能会让你无法准确的预测趋势,而且也不美观 在 js 配置中添加最多允许显示的数据点,超过这个值将不显示数据点 效果 ...

  7. 多线程查询数据,将结果存入到redis中,最后批量从redis中取数据批量插入数据库中【我】

    多线程查询数据,将结果存入到redis中,最后批量从redis中取数据批量插入数据库中 package com.xxx.xx.reve.service; import java.util.ArrayL ...

  8. osg 渲染ifc数据-测试

    直接使用osg渲染ifc数据,提高渲染速度. #include "teslamanage.h" #include <QtWidgets/QApplication> #i ...

  9. 算法习题---5.6团体队列(Uva540)

    一:题目 有t个队伍的人正在排队,每次新来一个人,如果他有队友在排队,那他可以插队,直接排到他的队伍的末尾.如果没有队伍在前面,那么他直接排在长队的末尾 ENQUEUE x 将编号x的队员入队 DEQ ...

  10. 【FreeMarker】Spring MVC与FreeMarker整合(二)

    前一篇介绍了FreeMarker的基本使用,本例介绍Spring MVC与FreeMarker整合 不熟悉项目搭建,可参考 [FreeMarker]FreeMarker快速入门(一) 整合 1.新建S ...