刻意练习:Python基础——Task02.条件与循环
一、条件语句
- if语句:if语句有如下三种形式:
#第一种形式:
if expression:
statements...
#第二种形式:
if expression:
statements...
else:
statements...
#第三种形式:
if expression:
statements...
elif expression:
statements...
...//可以有零条或多条elif语句
else:
statements...
- if条件后的条件执行体一定要缩进,只有缩进后的代码才能算条件执行体,而且缩进的空格数要相同。
- if条件语句,除了False本身,各种代表“空” 的None、空字符串、空元组、空列表、空字典都会被当成False处理。
- if分支语句还可以作为表达式,即三目运算符(Task01)
- pass语句:空语句。
二、循环结构
- while循环
1.while循环在每次执行循环体之前,都要先对test_expression循环条件求值,如果循环条件为真,则运行循环体部分
#例子
#循环的初始化条件
count_i = 0
#当count_i小于10时,执行循环体
while count_t < 10:
print("count",count_i)
#迭代语句
count_i += 1
print("循环结束")
2.可以使用while循环遍历列表和元组(Task03)
- for-in循环
1.for-in循环中的变量的值受for-in循环控制,该变量将会在每次循环开始时自动被赋值,因此程序不应该在循环中对该变量赋值。
#计算指定整数的阶乘
s_max = input("请输入你想计算的阶乘:")
mx = input(s_max)
result = 1
#使用for-in循环遍历范围
for num in range(1,mx + 1):
result *= num
print(result)
2.可以使用for-in循环遍历列表和元组(Task03)
3.可以使用for-in循环遍历字典(Task06)
- else代码块
当循环条件为False时,程序会执行else代码块,简单来说,程序在结束循环之前,会先执行else代码块。
count_i = 0
while count_i < 5:
print('count_i小于5:',count_i)
count_i += 1
else:
print('count_i大于或等于5:',count_i)
- for表达式
[表达式 for 循环计数器 in 可迭代对象]
a_range = range(10)#
可以在for表达式后面添加if条件
b_list = [x*x for x in a_range if x%2==0]
#a_list集合包含5个元素
print(b_list)
"""如果将for表达式的方括号改为圆括号,for表达式将不再生成列表,而是生成一个生成
器(generator),该生成器同样可使用for循环迭代"""
c_generator = (x*x for x in a_range if x%2==0)
#使用for循环迭代生成器
for i in c_generator:
print(i,end='\t')
print()
#for表达式可使用多个循环,就像镶套循环
d_list = [(x,y) for x in range(5) for y in range(4)]
print(d_list)
- break结束循环:用于完全结束一个循环,跳出循环体。
- continue忽略循环:只是忽略当次循环的剩下语句,接着开始下一次循环。
- return结束方法:结束函数或方法。
def test():
for i in range(10):
for j in range(10):
print("i的值是:%d,j的值是:%d" % (i,j))
if j ==1:
return
#结束此循环函数
print("return后的输出语句")
test()