Day 2
一、条件语句
条件判断中语句的一般形式是:
if condition_1:
statement_block_1
elif condition_2:
statement_block_2
else:
statement_block_3
下面我们来一行一行解读。
1)if
语句
- python中的条件判断一般是通过
if
语句实现的。比如:
if condition_1:
statement_block_1
- 上式中如果
condition_1
为真,则执行下面的statement_block_1
语句,否则,继续执行后面的语句。 - 当然了,
if
语句中的条件语句condition_1
中也可以加入布尔操作符and
,or
和not
。比如:
if 3 > 2 or not 7 < 8:
print("Hello world!")
2)else
语句
- 我们可以在
if
语句的后面添加一个else
语句,意思是,如果if
判断是False
的,那么就不去执行if
语句后面的内容,而是执行else
语句的内容。例如:
age = 3
if age >= 18:
print('your age is', age)
print('adult')
else:
print('your age is', age)
print('teenager')
'''
会执行else语句的内容,即输出结果为:
your age is 3
teenager
'''
3)elif
语句
elif
语句类似于C++中的else if
语句,学习过C++的同学对它应该很熟悉,语句中可以有多个elif
语句,来完善条件判断。- 在上面的例子中,条件判断是十分粗略的,我们可以用
elif
语句使得判断更加的细致。例如:
age = 3
if age >= 18:
print('adult')
elif age >= 6:
print('teenager')
else:
print('kid')
'''
首先age不满足if的条件,故不能执行if语句下的内容,其次后面的的语句elif的条件,它仍不满足,最后只得执行else语句下的内容。
即输出结果为:
kid
'''
4)条件语句的嵌套使用
if
和else
语句是可以嵌套使用的,例如:
if <条件1>:
<执行1>
if <条件1.1>:
<执行1.1>
elif <条件1.2>:
<执行1.2>
else <条件1.3>:
<执行1.3>
elif <条件2>:
<执行2>
else:
<执行3>
- 当然在条件判断中使用
input()
语句,可以使语句变得更有趣。例如:
s = input('birth: ')
birth = int(s)
if birth < 2000:
print('00前')
else:
print('00后')
'''
因为input()返回的类型是str类型,不能和整数比较,所以需要用int将其转化为整数类型,才可以在语句中执行比较。
所以,若输入:
birth: 1997
则输出:
00前
'''
2、循环语句
当我们计算一些数字很少的四则运算时,像1+2+3这类运算,我们可以很轻松的计算出数值,但是,如果要我们计算1+2+3+…+10000,我们直接计算是几乎不可能的,所以,我们需要用到循环语句,来使我们的运算变得简单快捷。
1)while 循环
- 在 while 循环中,只要条件满足,它就会一直循环下去,条件不满足时,它就会退出循环,比如我们举一个例子:计算1+2+3+…+100的值。
最后输出为:
2)for … in 循环
- 此循环会依次把list或tuple中的每个元素迭代出来,例如:
for i in 'ILoveYou':
print(i, end=' ') # 不换行输出
# I L o v e Y o u
- 如果我们要计算1-10的和,我们也可以用
for
循环来完成:
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
sum = sum + x
print(sum)
- 但是,如果我们要计算1-100的和,那么列出所有的数来就有点不实际了,所以我们引出
range()
函数,它可以生成一个整数序列,再通过list()
函数可以将其转化成list。比如range(5)
可以生成从0开始小于5的所有整数:
>>> list(range(5))
[0, 1, 2, 3, 4]
- 所以,如果我们要计算1-100的和,程序如下:
sum = 0
for x in range(101):
sum = sum + x
print(sum)
3)break 语句
- 在循环中,
break
语句可以提前跳出 for 和 while 的循环。例如,我们要打印1-100这些数字,如果要提前结束循环,就是用break
语句:
n = 1
while n <= 100:
if n > 10: # 当n = 11时,条件满足,执行break语句
break # break语句会结束当前循环
print(n)
n = n + 1
print('END')
代码执行后为:
可以看到打印出1-10后,紧接着打印出了END
,程序结束。
4)continue 语句
- 在循环过程中,也可以通过
continue
语句,跳过当前的这次循环,直接开始下一次循环。比如我们想打印1-10中的奇数部分,那么就可以使用continue
语句来跳过某些循环。例如:
n = 0
while n < 10:
n = n + 1
if n % 2 == 0: # 如果n是偶数,执行continue语句
continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行
print(n)
执行上面的代码后,可以得到:
从输出可以看到,打印的是1,3,5,7,9,可见continue
语句可以提前结束本轮循环,并直接开始下一轮循环。
5)pass 语句
- pass语句就是什么都不做。它只在语法上需要一条语句,但程序不需要任何操作时使用.例如:
>>> while True:
... pass # 等待键盘中断 (Ctrl+C)
备注:
学习参考资料:
https://www.liaoxuefeng.com/wiki/1016959663602400/1017100774566304
https://www.w3cschool.cn/python3/python3-loop.html