怎样打开思路编写python if 语句

coolpython

共 2072字,需浏览 5分钟

 · 2022-06-29

1. if条件语句定义

if条件语句是python的流程控制语句,if 语句包含零个或多个 elif 子句及可选的 else 子句,关键字elif 是else if 的缩写,适用于避免过多的缩进,python里没有else if 这种语法。if语句的核心作用是控制程序走向哪一个逻辑分支。

下面是if语句的伪代码表示形式

if test :
suite
(elif test :
suite
)*
[else :
suite
]
  • if关键字后面必须紧跟一个表达式,这里用test表示

  • elif关键字后面也必须紧跟一个表达式

  • if , elif , else 各自产生一个逻辑分支,也就是suite部分

  • 在伪代码里,elif 子句我用小括号括起来并使用*来表示这部分可以有0或者多个

  • else语句用中括号括起来,这表示可选,可以有0或者一个else

2. 如何编写if语句

if语句的语法是非常简单的,真正难的部分是if语句里的条件表达式。

2.1 逻辑分支只有一个的情况

使用input函数接收用户输入的整数,如果用户输入的整数是偶数,程序使用print语句输出:你输入的是偶数。

分析题目要求,只有一个逻辑分支需要处理:判断用户输入是否为偶数,如果是,输出提示内容

value = input("请输入一个整数:")
value = int(value)if value % 2 == 0:
print("你输入的是偶数")

这是最最简单的if语句,你只需要处理一个逻辑分支。

2.2 逻辑分支有两个,且互斥

使用input函数接收用户输入的整数,如果用户输入的整数是偶数,程序使用print语句输出:你输入的是偶数;如果用户输入的整数是奇数,程序使用print语句输出:你输入的是奇数。

现在,逻辑分支有两个,且是互斥的,一个整数,要么是偶数,要么是整数,对于这样的情况,我们使用if ... else ... 这种句式就能够处理。

value = input("请输入一个整数:")
value = int(value)if value % 2 == 0:
print("你输入的是偶数")else:
print("你输入的是奇数数")

2.3 逻辑分支有两个以上,且互斥

使用input函数输入月份,不考虑闰年的情况下,输出月份最大的天数。

1,3,5,7,8, 10, 12 这几个月份的天数是31天,2月是28天,4,6,9,11 都是30天。经过这番分析,if语句要处理3个逻辑分支。用户输入的月份只能是1到12中的某个,因此这3个逻辑分支之间是互斥的,可以使用if ... elif ... else 这种句式来处理。

value = input("请输入月份:")
month = int(value)if month in (1, 3, 5, 7, 8, 10, 12):
print(31)elif month == 2:
print(28)else:
print(30)

学习编程语言语法,是一件特简单的事情,因为不存在理解不了的情况。那为什么还写不出代码呢?

因为代码是逻辑思考的一种表达,核心是你对这个问题的逻辑思考,对于if语句来说,你需要把问题里的条件进行分类,先整理出逻辑分支有多少个,每一个逻辑分支里你需要做哪些事情,每一个逻辑分支都对应着一个表达式,你还得有能力把这个表达式写对。当表达式的结果是True时,程序自然的进入到这个逻辑分支里执行代码。

3. 判断3个数的大小

使用input函数接收用户输入的3个整数,3个整数之间使用逗号分隔,程序从小到大输出这3个数。

首先,你要考虑input函数返回的数据类型是字符串,程序得到一个字符串,字符串里是3个用逗号分隔的整数,你最终要从小到大输出这3个整数,那么你实际处理过程中需要的是3个int,而非一个字符串,第一步就是将字符串拆解成3个int对象。

第二步,对这3个int对象,对他们的彼此间的大小进行判断,这其实没什么神奇的办法,就是使用比较运算符进行比较就好了。

value = input("请输入3个整数,使用逗号分隔:")
lst = value.split(',')

a = int(lst[0])
b = int(lst[1])
c = int(lst[2])if a > b: if c > a:
print(b, a, c) elif c < b:
print(c, b, a) else:
print(b, c, a)else: if c > b:
print(a, b, c) elif c < a:
print(c, a, b) else:
print(a, c, b)

这个题目,我建议你好好揣摩,它对于你理解if语句,锻炼提升逻辑思考能力非常有帮助。


浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报