逻辑控制
一、条件语句
1. if语句
# 语法
if 条件:
条件成立执行代码1
条件成立执行代码2
……
# 举例
In [1]: if True:
...: print("代码1!")
...: print("代码2!")
...:
代码1!
代码2!
- 应用场景举例
In [1]: age=input("请输入年龄:")
请输入年龄:18
# 此处需要进行类型转换
In [2]: if int(age)>=18:
...: print("您已成年,可以上网!")
...:
您已成年,可以上网!
- 以上代码需要注意数据类型,input输入的为str型,所以需要转为int
2. if else语句
- 语法
if 条件:
条件成立执行代码1
条件成立执行代码2
……
else:
条件不成立执行代码1
条件不成立执行代码2
- 应用场景举例
In [1]: age=input("请输入年龄:")
请输入年龄:10
In [2]: if int(age)>=18:
...: print("您已成年,可以上网!")
...: else:
...: print("您未成年,不可以上网!")
...:
您未成年,不可以上网!
3. 多重判断
- 语法
if 条件1:
条件1成立执行的代码1
条件1成立执行的代码2
elif 条件2:
条件2成立执行的代码1
条件2成立执行的代码1
else:
以上条件都不成立执行的代码
- 举例
In [1]: age=int(input('请输入您的年龄:'))
请输入您的年龄:45
In [2]: if age<18:
...: print(f'您的年龄为{age},童工!')
...: elif (age>=18) and (age<60):
...: print(f'您的年龄为{age},合法!')
...: else:
...: print(f'您的年龄为{age},退休!')
...:
您的年龄为45,合法!
4. if嵌套
- 语法
if 条件1:
条件1成立则执行的代码
条件1成立则执行的代码
if 条件2:
条件2成立执行的代码
条件2成立执行的代码
- 举例
In [4]: money=1
In [5]: seat=1
In [7]: if money==1:
...: print('有钱买票,请上车!')
...: if seat==1:
...: print('有空座位,请坐下!')
...: else:
...: print('没有空座,请等待!')
...: else:
...: print('没有钱买票,请下车!')
...:
...:
有钱买票,请上车!
有空座位,请坐下!
- 执行流程
5. 三目运算符
- 语法
条件成立执行表达式 if 条件 else 条件不成立执行表达式
- 举例
In [8]: a=1
In [9]: b=2
In [10]: c=a-b if a<b else a+b
In [11]: print(c)
-1
二、循环语句
- 在python中,循环有while和for两种
1. while
1.1 语法
- 语法
while 条件:
条件成立重复执行的代码1
条件成立重复执行的代码2
……
- 举例
In [1]: result=0
In [2]: i=1
In [3]: while i<100:
...: if i%2==0:
...: result+=i
...: i+=1
...:
In [4]: print(result)
2450
1.2 break和continue
-
break控制循环,当遇到break直接退出循环
-
continue控制循环,当条件满足时会跳出本次循环,继续执行下一次循环
-
break举例
In [5]: count=0
In [6]: while True:
...: count+=1
...: if count==50:
...: break
...:
In [7]: print(count)
50
- continue举例
In [24]: i=0
In [25]: while i<5:
...: i+=1
...: if i==3:
...: continue
...: print(i)
...:
1
2
4
5
- 以上代码我们看到3没有被打印,即当i=3时跳出了本次循环,但会继续执行后面的循环
1.3 while循环嵌套
- 语法
while 条件1:
条件1成立执行代码
……
while 条件2:
条件2成立执行代码
……
- 举例
In [26]: i=0
In [27]: j=0
In [28]: while i<5:
...: while j<3:
...: j+=1
...: i+=1
...:
In [30]: print(i)
5
In [31]: print(j)
3
- 运行流程
1.4 应用举例
- 打印九九乘法表
In [3]: i=1
In [4]: while i<=9:
...: j=1
...: while j<=i:
...: print(f'%d*%d=%02d'%(j,i,j*i),end=' ')
...: j+=1
...: print()
...: i+=1
...:
...:
1*1=01
1*2=02 2*2=04
1*3=03 2*3=06 3*3=09
1*4=04 2*4=08 3*4=12 4*4=16
1*5=05 2*5=10 3*5=15 4*5=20 5*5=25
1*6=06 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=07 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=08 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=09 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
2. for循环
2.1 语法
- 语法
for 临时变量 in 序列:
重复执行的代码1
重复执行的代码2
……
- 举例
In [39]: str1='hello'
In [40]: for i in str1:
...: print(i,end=' ')
...:
h e l l o
2.2 break和continue
- 举例
# break
In [41]: str1='hello world'
In [42]: for i in str1:
...: if i==' ':
...: break
...: print(i,end=' ')
...:
h e l l o
# continue
In [43]: str1='hello1 world'
In [45]: for i in str1:
...: if i=='1':
...: continue
...: print(i,end=' ')
...:
h e l l o w o r l d
# 打印结果中没有字符1
3. while…else
- 语法
while 条件:
条件成立重复执行的代码
else:
循环正常结束之后要执行的代码
- 举例
In [46]: i=0
In [47]: while i<5:
...: i+=1
...: else:
...: print(i)
...:
5
# while语句中加break条件
In [48]: i=0
In [49]: while i<5:
...: i+=1
...: if i==3:
...: break
...: else:
...: print(i)
...:
# 我们看到上面的代码没有输出i的值,因为while语句中有break属于非正常退出,所以else不会执行
# while语句中加continue条件
In [50]: i=0
In [51]: while i<5:
...: i+=1
...: if i==3:
...: continue
...: else:
...: print(i)
...:
...:
5
# 我们看到以上代码输出了i的值,所以continue不会影响else的正常输出
4. for…else
- 语法
for 临时变量 in 序列:
重复执行的代码
……
else:
循环正常结束之后要执行的代码
- 举例
In [54]: str1='hello'
In [55]: for i in str1:
...: print(i,end=' ')
...: else:
...: print()
...: print('for循环正常结束执行的else代码!')
...:
...:
h e l l o
for循环正常结束执行的else代码!
- 我们看到以上代码输出了i的值,所以continue不会影响else的正常输出
### 4. for...else
- 语法
```python
for 临时变量 in 序列:
重复执行的代码
……
else:
循环正常结束之后要执行的代码
- 举例
In [54]: str1='hello'
In [55]: for i in str1:
...: print(i,end=' ')
...: else:
...: print()
...: print('for循环正常结束执行的else代码!')
...:
...:
h e l l o
for循环正常结束执行的else代码!
- 当for循环配合break和continue时,执行方式和while循环配合它们使用时的执行方式是一样的
三、其他
- 其他可关注个人博客!不将就