Python基础学习之循环与条件语句
1. while 循环
1.1 while 循环的基本格式
while 循环基本分为以下几步:
注意:
1.2 while 循环举例
计算 0 ~ 100 之间所有数字的累计求和结果
# 计算 0 ~ 100 之间所有数字的累计求和结果 result = 0 # 0. 循环体外定义一个变量,存储最后的结果 i = 0 # 1. 定义循环初始条件 # 2. 开始循环 while i <= 100: result += i # 每一次循环,都让 result 这个变量和 i 这个计数器相加 i += 1 # 处理条件 print("0~100之间的数字的累计求和结果 = %d" % result) # 输出结果:0~100之间的数字的累计求和结果 = 50501.3 while 循环的嵌套
while 循环支持嵌套,请参考下面例子:
打印 9*9 乘法表
完成 99乘法表分为两步,第一步:确定 每个乘法的位置; 第二部:在对应位置输出对应乘法式;
# 99乘法表 # 第一步:确定乘法等式的位置 i = 0 while i<10: print("*-*=* " *i,) i+=1输出:
*-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* *-*=* # 第二步:加入一个while 循环,修改换行方式; i = 1 while i < 10: j = 1 while j <= i: print("%d X %d = %d " % (i, j, i * j), end=' ') j += 1 print('') i += 1输出:
1 X 1 = 1 2 X 1 = 2 2 X 2 = 4 3 X 1 = 3 3 X 2 = 6 3 X 3 = 9 4 X 1 = 4 4 X 2 = 8 4 X 3 = 12 4 X 4 = 16 5 X 1 = 5 5 X 2 = 10 5 X 3 = 15 5 X 4 = 20 5 X 5 = 25 6 X 1 = 6 6 X 2 = 12 6 X 3 = 18 6 X 4 = 24 6 X 5 = 30 6 X 6 = 36 7 X 1 = 7 7 X 2 = 14 7 X 3 = 21 7 X 4 = 28 7 X 5 = 35 7 X 6 = 42 7 X 7 = 49 8 X 1 = 8 8 X 2 = 16 8 X 3 = 24 8 X 4 = 32 8 X 5 = 40 8 X 6 = 48 8 X 7 = 56 8 X 8 = 64 9 X 1 = 9 9 X 2 = 18 9 X 3 = 27 9 X 4 = 36 9 X 5 = 45 9 X 6 = 54 9 X 7 = 63 9 X 8 = 72 9 X 9 = 811.4 while 循环的else语句
else 语句最常见于 if 语句,else 语句的意思是:上面紧挨的一个循环或者判断结束后,紧接着执行的语句,在while循环中的举例如下: 注意:else 语句也是循环体的一部分,这是在不满足条件时才执行;
i = 0 while i<5: print('%d 小于五'%i) i +=1 else: print('%d 等于五'%i) # 当 while 条件不满足时,执行;输出:
0 小于五 1 小于五 2 小于五 3 小于五 4 小于五 5 等于五2. for 循环
for 循环非常常用,for 循环可以遍历任何序列的项目,比如:列表,字典,字符串等;
2.1 for 循环的基本格式
# for 循环 for i in [1,2,3,4]: # 以列表为例; # 注意点: # 1. for 后面的变量可以是任意合法的变量名; # 2. 后面的循环体内,i 代表当前的循环值; # 3. 尾部的冒号一定要有; print(i) # 循环内容 else: print("for 循环结束!") # 当循环结束时,调用else 语句;输出:
1 2 3 4 for 循环结束!2.2 与range(), len() 配合;
2.2.1 与 range() 配合,遍历数字序列 range() 可以生成数列,我们可以指定数列的起始值,终止值,步长;定义方式:range(起始值,终止值,步长),我们通过for循环将range() ,生成的数列打印出来:
for i in range(2,5): print(i,end=' ') # end=' ',打印以空格结尾,可以输出到一行,输出:2 3 4 print('') # 换行 for i in range(1, 10, 2): print(i,end=' ') # 输出:1 3 5 7 92.2.2 与 range(),len() 配合,遍历字符串,列表,字典等;
s = [100,200,300] for i in range(len(s)): print('列表中的第%s个数为:%s' %(i,s[i]))输出:
字典中的第0个数为:100 字典中的第1个数为:200 字典中的第2个数为:3003. continue语句 & break语句 & pass 语句
3.1 continue语句 & break语句 的区别
以上例子的执行结果为:
# 使用 continue 的运行结果: 4 3 1 0 循环结束。 # 使用 break 的运行结果: 4 3 循环结束。3.2 pass语句
为保证程序结构的完整性,我们会在一些时候使用pass语句; pass 语句是一个空语句,只是一个占位语句的存在;例如,当你定义一个函数的时候,还没有想好函数该如何书写;为避免程序报错,这时可以使用pass语句;举例:
def func(a): pass # pass 占位语句,执行该函数时执行pass语句;4. if 条件判断
4.1 if 语句的基本格式
# if 语句 if 1 < 2: # 条件为真! print('条件为真,执行!') else: print('条件为假!') # 输出:条件为真,执行! if 0 > 10: # 条件为假! 执行else语句 print('条件为真,执行!') else: print('条件为假!') # 输出:条件为假!注意:
4.2 elif 语句的基本格式
有时,我们需要判断多种条件,此时可以使用 elif 语句,基本格式如下:
if 条件语句1: 执行语句1…… elif 条件语句2: 执行语句2…… elif 条件语句3: 执行语句3…… else: 执行语句4…… # 前面的条件全部不成立时,执行else语句;注意:
问题点:以上代码,可以实现功能,但是有一个问题,就是条件的位置如果更换了,就会输出错误的结果;比如:
l=[1,7,12,26,15] for i in range(len(l)): print('当前值为:%s'%l[i]) if l[i] < 5: print('我是一个小于(-∞,5)的数字') elif l[i] < 15: print('我是一个介于 [10,15) 之间的数字') elif l[i]<10: print('我是一个介于[5,10)之间的数字') else: print('我大于等于15!')这里更换了 elif l[i] < 15: 和 elif l[i]<10: 的位置,在数字7时,输出为:我是一个介于 [10,15) 之间的数字; 为避免这种问题,我们需要使用到 and 运算(or 运算的话,也是同理),代码变更为:
# 改正代码 l=[1,7,12,26,15] for i in range(len(l)): print('当前值为:%s'%l[i]) if l[i] < 5: print('我是一个小于5 (-∞,5)的数字') elif l[i] < 15 and l[i] > 10: print('我是一个介于 [10,15) 之间的数字') elif l[i]<10 and l[i] > 5: print('我是一个介于[5,10)之间的数字') else: print('我大于等于15!')输出:
当前值为:1 我是一个小于(-∞,5)的数字 当前值为:7 我是一个介于[5,10)之间的数字 当前值为:12 我是一个介于 [10,15) 之间的数字 当前值为:26 我大于等于15! 当前值为:15 我大于等于15!