带你学python基础:条件控制if与循环语句while、for
一、什么是条件控制
条件控制用生活中的一个例子来说就是:当你去买车时,会有好多品牌,这个时候我们就需要做出选择,到底需要买哪个品牌的车,而在编程中,条件控制就是为了帮你做选择的。
用专业点的话来说,条件控制语句,也可以称之为判断语句,通过一条或多条的执行结果来决定接下来要执行的代码块。
上图就是一个条件控制。
二、if条件控制
简单的说if条件控制有多种表达的形式。
最简单的
if语句只有一个判断一个操作。
语法:
if 条件:
条件成立,执行代码块
** 举例 **
age = 18
if age == 18:
print('我是18')
if-else
语法:
if 条件:
满足条件执行的代码块1
else:
没有满足if条件执行的代码块2
举例
age = 18
if age == 17:
print('我是18')
else:
print('我不是18')
if-elif-else
一个if只能有一个else,但是可以拥有多个elif。在 C 、C++、Java 中都有switch-case语句,但是Python中没有 switch-case,可以使用 if-elif-else 来代替 switch-case,在 C 、C++、Java 中的 switch-case 也是可以被 if-elif-else 这种类型代替的。
语法:
if 条件:
满足if条件执行的代码块1
elif 条件1:
满足条件1执行的代码块2
elif 条件2:
满足条件2执行的代码块3
else:
不满足以上条件执行的代码块4
举例
age = 18
if age == 17:
print('我是17')
elif age == 18:
print('我是18')
elif age == 19:
print('我是19')
elif age == 20:
print('我是20')
else:
print('我不知道!')
if嵌套
If 嵌套就是在 if-elif-else 结构中再嵌套另外一个 if-elif-else 结构。
语法:
if 条件:
满足if条件执行的代码块
elif 条件1:
if 条件1-1:
满足条件1-1执行的代码块
elif 条件1-2:
满足条件1-2执行的代码块
else:
都不满足执行的代码块
elif 条件2:
满足条件2执行的代码块
elif 条件3:
满足条件1执行的代码块
举例
age = 19
if age < 17:
print('我小于17')
elif age > 18 & age < 20:
if age == 19:
print('我是19')
elif age == 20:
print('我是20')
else:
print('我不知道!')
三、循环控制while
循环控制是什么呢?
循环控制就是我们每天都要循环不断的去搬砖!一直做同一件事情。
while
是一个条件循环语句,与 if 一样,他也有条件表达式
。如果条件为真
,while中的代码就会一直循环执行
,直到循环条件不再为真才停止。
语法:
while 条件:
代码块
举例
计算 1 * 2 * 3 ··· *5的大小
# 计算1 * 2 * 3 ··· *5的大小
i = 1
sum = 1
while i <= 5:
sum *= i
i = i + 1
print(sum)
print(sum)
while循环嵌套
while中也可以嵌套while循环。
语法:
while 条件1:
满足条件1执行代码块1
while 条件2:
满足条件1又满足条件2执行代码块2
举例
输出一个用三角形构成的直角三角形
# 输出一个用三角形构成的直角三角形
i = 1
j = 1
while i <= 5:
while j <= 5:
print('△' * j)
j = j + 1
i = i + 1
while循环使用else语句
while 条件:
满足条件执行代码块
else:
不满足条件执行代码块
举例
i = 5
while i > 5:
print('yes')
else:
print('No')
break 、pass 和 continue
在 while 和 for 循环的使用中,我们需要注意,经常会使用到 break 和 continue 这两个关键字。
break
在循环语句中使用break的作用是,在循环体内遇到 break 则会跳出循环,终止循环,并且不论循环的条件是否为真,都不再继续循环下去。
i = 1
while i <= 5:
print(i)
if i == 3:
break
i = i + 1
continue
退出当前循环,再继续执行下一次循环。
i = 0
while i <= 5:
i = i + 1
if i == 3:
continue
print(i)
如图,当执行到 3 的时候,是不会执行的,但是后面的还是会接着执行。
pass
这个关键字在 python 的这门语言中是独有的。它的作用主要是:
- pass语句的使用表示不希望任何代码或者命令的执行;
- pass语句是一个空操作,在执行的时候不会产生任何反应;
- pass语句常出现在if、while、for等各种判断或者循环语句中;
四、for 循环控制
for 是 Python 中另外一个循环语句,其作用和 while 是类似的,提供了Python中最强大的循环结构,它可以循环遍历任何序列项目,如一个列表或者一个字符串。
语法
for <variable> in <sequence>:
<statements>
else:
<statements>
举例
# 创建一个元祖
tuple1 = ('欧阳思海', 18, 'wuhan', 1.75)
for item in tuple1:
print(item)
for 循环的其他用法和 while 类似,可以参照 while 举一反三。
range函数用法
由于在循环中经常会用到 range 这个函数,所以,在这里就先介绍一下。
语法
range(start, stop[, step])
- start: 计数从 start 开始。默认是从 0 开始。例如range(4)等价于range(0,4);
- end: 计数到 end 结束,但不包括 end。例如:range(0, 4) 是[0, 1, 2, 3, 4]没有4
- step:步长,默认为1。例如:range(0, 4) 等价于 range(0, 4, 1)
举例
list(range(10)) # 从 0 开始到 10 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list(range(1, 15)) # 从 1 开始到 11 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10···15]
list(range(0, 60, 5)) # 步长为 5 [0, 5, 10, 15, 20, 25···60]
list(range(0, 10, 3)) # 步长为 3 [0, 3, 6, 9]
list(range(-10, 0, 2)) # 负数 [-10, -8, -6, -4, -2]
list(range(50, 0))
# 在循环中使用
for i in range(10):
print(i)