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. 如将Myeclipse项目改成Eclipse项目

    由于项目需求,需要将原来Myeclipse项目转移到Eclipse中去.搞了半天才搞出来,分享给大家,希望对大家有用. 首先导入一个从Myeclipse导出的项目 然后无法进行tomcat发布. 但是 ...

  2. (转)RL — Policy Gradient Explained

    RL — Policy Gradient Explained 2019-05-02 21:12:57 This blog is copied from: https://medium.com/@jon ...

  3. 关于postman与shiro权限验证问题

    作为一个java的开发小白 , 写完一个web方法测试是必不可少的 , 只有测试号没问题的方法给别人时 ,别人才不知道你是小白 , 要不然很尴尬的 .新手入坑的测试工具是postman .这个工具用起 ...

  4. Flutter -------- 解析JSON数据

    SON序列化方法: 手动序列化和反序列化通过代码生成自动序列化和反序列化 手动JSON序列化是指使使用dart:convert中内置的JSON解码器.它将原始JSON字符串传递给JSON.decode ...

  5. android ------ 实现高德定位并获取相应信息 ( 最新版高德SDK 和 Android SDK版本)

    Android开发项目时常常会遇到定位这个功能, 很久以前写过一篇了,官方也更新了一些东西,我也更新下 以前使用的是jar包 导入来实现高德定位 老版本 链接:https://www.cnblogs. ...

  6. matplotlib实战

    plt.imshow(face_image.mean(axis=2),cmap='gray') 图片灰度处理¶   size = (m,n,3) 图片的一般形式就是这样的 rgb 0-255 jpg图 ...

  7. layui时间控件闪退的问题

    项目上线,发现后台管理系统layui的子页面出现时间控件闪退的问题,根本选取不到时间. 其原因是:如果出现页面找到多个节点,只有第一个节点能正常使用后面的节点都会闪退,可以理解为目前laydate不支 ...

  8. Fiddler抓包显示请求时延

    两种方式:配置和加代码.配置只是将隐藏的时延字段显现了出来,格式没法改:加代码就随你写了,格式自己说了算. 先说配置的,在左边框顶部字段名称右击鼠标 -> 点击Customize colums. ...

  9. spring 配置事务管理器

    在Spring中数据库事务是通过PlatformTransactionManager进行管理的,jdbcTemplate是不能支持事务的,而能够支持事务的是org.springframework.tr ...

  10. sed替换字符串(变量)

    sed “s/查找字段/替换字段/g” echo helloworld|sed  ‘s/hello/world/g’ sed 替换字符串以变量形式 1.sed命令使用双引号的情况下,可以使用$var( ...