在日常开发中,只要有需要进行条件判断的语句基本上都是选择判断结构。
if 条件判断:
则执行某段代码...
if True:
print('条件成立执行的代码1')
print('条件成立执行的代码2')
if 条件判断:
当条件判断为True时,则执行这个语句段
else:
当条件判断为False时,则执行这个语句段
如果条件1成立,则执行语句段1
如果条件2成立,则执行语句段2
...
当所有条件都不成立时,则执行else语句段中的内容
if 条件判断1:
如果此条件为True,则执行这个语句段
elif 条件判断2:
如果此条件为True,则执行这个语句段
elif ...:
...
else:
如果以上所有条件判断都不满足时,则执行这个语句段
嵌套结构看起来比较复杂,但是我们在编写时要遵循一个原则:先编写外层判断,所有语句编写完成后,在编写内层条件判断结构。代码如下例:
if 外层条件判断:
# 如果条件为True,则执行以下语句段
if 内层条件判断:
# 如果内层条件为True,则执行以下语句段
else:
# 如果条件为False,则执行以下语句段
在Python中三目运算符也叫三元运算符,其主要作用:就是用于简化if...else...语句。
if 条件判断: # 语句段1 else: # 语句段2
转换为三目运算符:
语句段1 if 条件判断 else 语句段2
需求:输入两个数值,返回最大值.
num1 = 10
num2 = 20
max = num1 if num1 > num2 else num2
print(f'最大值为{max}')
有条件地重复地做一件事,每一次做的事情不同但类似。
程序是为了解决实际问题的,实际问题中存在着重复动作,那么程序中也应该有相应的描述,这就是循环。
让代码高效的重复执行
# ① 定义一个计数器(初始化一个计数器)
i = 0或1
# ② 编写while循环结构
while 循环条件(判断 计数器 是否达到了目标位置):
循环体1
循环体2
...
# ③ 在循环内部更新计数器
i = i + 1 或 i += 1
总结:while循环三步走① 初始化计数器。② 编写循环条件(判断计数器是否达到了目标位置)。
③ 在循环内部更新计数器。
for循环结构主要用于(序列 => 字符串、列表、元组、集合以及字典)类型数据的遍历(循环)操作。
for循环主要用于序列类型数据的循环操作(遍历操作)
另外当循环次数未知的情况,建议使用for循环。
for 临时变量 in 序列:
重复执行的代码1
重复执行的代码2
使用Debug调试以上代码可知:for循环功能非常强大,可以自动判断序列的长度,长度为多少,则for循环就循环多少次。每次循环时,系统会自动将序列中的每个元素赋值给变量i,赋值完成后,for循环内部会自动更新计数器,向后移动一位,继续循环,直至元素全部循环结束。
Python2 range() 函数返回的是列表,而在Python3中 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。
主要作用:用于生成一段连续的内容,从0到9
基本语法:
range(stop)
range(start, stop[, step])
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0,5) 是 [0, 1, 2, 3, 4] 没有 5
step:步长,默认为1。例如:range(0,5) 等价于 range(0, 5, 1)
在循环结构中存在两个关键字:break和continue
案例:遇到字符'e',则终止整个循环
str1 = 'itheima' for i in str1: if i == 'e': break print(i)
案例:遇到字符'e',跳过循环,继续下一次循环
str1 = 'itheima'
for i in str1:
if i == 'e':
continue
print(i)
循环可以和else配合使用,else下方缩进的代码指的是==当循环正常结束之后要执行的代码。
强调:'正常结束',非正常结束,其else中的代码时不会执行的。(如遇到break的情况)