Python入门知识点 5--流程控制语句

先来分享一个pycharm使用小技巧

    红色波浪线:提醒可能报错

    黄色波浪线:提醒书写不规范,ctrl+alt+l去掉黄线

    code --Reformat code,就可以去掉黄线,调整代码格式

1、程序三大执行流程

(1)顺序执行

         程序执行时,代码从上往下,从左往右执行,中间如果有报错的代码,后面的内容不再执行

(2)选择执行

        根据条件满足与否,执行对应代码

(3)循环执行

        根据条件满足与否,循环执行对应代码

条件满足与否基于,通过布尔类型来判断

2、代码块的艺术--缩进

在python中,是通过缩进表示一个代码块的权限
相当于缩进的代码就是它的上一级代码(没缩进)的小弟,小弟听大哥的话

python中,缩进是用tab(四个空格)来表示

num=5
if num>10:
    print('我是你小弟,因为我加了缩进')
print('我是if外面的,没加缩进,我不归if管')

3、选择执行(条件判断语句,if)

if语句的作用为'条件判断',根据判断结果执行对应的代码
    if:如果
    else:否则
    elif:或者

3.1 单分支结构(if)

单分支: 满足条件就执行if里的代码,否则无事发生

语法格式:
    if 判断条件:
        执行语句

age=int(input('请输入你的年龄'))
if age>=18:
    print('恭喜你成年了')

3.2 双分支结构(if...else)

双分支语句: 满足条件就执行if里的代码,不满足就执行else里的代码

语法格式:
    if 判断条件:
        执行语句
    else:
        执行语句

money=88.8
if money>=500:
    print('我真有钱')
else:
    print('穷鬼')

3.3多分支结构(if...elif...else)

多分支语句:满足条件就执行if里的代码,如果不满足if条件的代码,就接着往下判断elif里的语句,满足elif的条件就执行elif里的代码,if和elif都不满足才会执行else里的代码

语法格式:
    if 判断条件:
        执行语句
    elif 判断条件:
        执行语句
    else:
        执行语句

score=int(input('请输入你的考试成绩'))
if score==100:
    print('吃大餐')
elif score>=80:
    print('十分钟玩游戏')
elif score>=60:
    print('再接再励')
else:
    print('男女混合双打')

一组分支里面,elif条件可以有多个,一组里面if和else只能有一个

在判断数字的时候,最好是从大往小进行判断

短路运算符

chinese=60
math=90
if chinese>80 and math>80:
    print('好好学习')
else:
    print('再接再励')

短路运算符是python中常用的逻辑运算符(and,or),这个运算符内部有短路效应,短路效应是指在使用短路运算符时,只会执行条件的部分代码,而不会执行不满足条件的部分代码,这种特性可以用于简化代码,并提高代码的执行效率

短路运算符:代码在判断时,如果已经知道结果了,后面的判断就不会执行
and:当前面的值为假时,and后面就不会执行
>>> 0 and 1
0
>>> 1 and 0
0

or:当前面的值为真时,or就不会往后面执行
>>> 0 or 1
1
>>> 1 or 0
1

if还有个特性 判断的条件有值就执行,否则就不执行
有值为真,没有值为假([],(),'',{},set(),None,0,0.0)

if num:
    print('有值为真,条件成立')
else:
    print('空值为假,条件不成立')

4、循环结构

所谓的循环就是把一件相同的事情重复执行N次

在编程中,循环语句的作用是为了让开发:
    1.减少代码量
    2.提高运行效率
    
比如我要输出100次好好学习
    1.打100次print
    2.字符串*100
    3.用循环

4.1循环执行(while循环)

while循环语句: 判断循环条件是否为真,满足就循环执行代码,不满足就结束循环

语法格式:
    while 循环判断条件:
        更新语句
        执行语句

num=1 #当前num为1
while num<=100:
    print(f'我在抄书,这是第{num}遍')
    num += 1  # num=num+1,这里也就是让这个num每循环一次就加一次

死循环:一直循环,不会停止的
#最简单的死循环

while True:
    循环语句

4.2迭代循环(for循环)

可以理解为是while循环的升级版,作用跟while类似
(1)在遍历数据时 (2)循环次数已知时,
在这两种情况下,使用for循环会比while循环更高效

(1)可迭代对象:就理解为可以更新的东西就行
(2)里面的变量:这里的变量 是作为临时容器来用,一般取名为i,也可以叫做其他的,但是默认为i这个变量,不需要提前声明,作为一个临时存储的作用

1.在遍历数据时
语法格式:
    for 变量名 in 可迭代对象(字符串,列表,元组,字典,集合)

li=['小赵',123,True,88.8,'好好学习']
for i in li:
    print(i) #把里面的数据一个个取出来,赋值给i

2.确定了循环指定的次数
语法格式:
    for 变量名 in range(数值)
        执行语句

for i in range(100): #要循环多少次,里面就填几,终点默认前一位,实际0-99,循环了100次
    print(i)

    for 变量名 in range(起点,终点)
        执行语句
        
    for 变量名 in range(起点,终点,步长)
        执行语句
 

for i in range(1,100,2):
    print(i)

range()这个方法 可以表示一个数值的范围 结合in就可以做一个简单的数值范围判断
range的值默认从0开始,终点值到他的前一位

5、break与continue

break --> 终止 结束本轮循环
continue --> 跳过,跳过本轮循环

1.本来要跑100圈,你跑了10圈就偷懒选择不跑了 --break结束循环

for i in range(1,101):
    print(f'我跑了第{i}圈')
    if i==10:
        print('我不跑了')
        break #在我满足第十圈的时候 就结束循环

2.抄书,找到一些页面跳过不写,耍滑头-->continue 跳过

for i in range(1,21):
    if i==10 or i==15 or i==20:
        continue
    print(f'这是我抄书的第{i}遍')

6、pass语句

if 判断条件:
    空着不写
    
while/for 判断条件:
    空着不写
    
如果你空着不写,会报错,因为你这样相当于占着位置不干活,造成性能的浪费
在开发时,会遇到这样的情况
已知一个地方,要写一个条件判断/循环,但是还没想好里面具体写什么,,这时候就可以先写个pass,表示跳过,防止报错

if 判断条件:
    pass
    
while/for 判断条件:
    pass

7、嵌套

7.1 分支结构嵌套

现在那你是个宫女 有个飞上枝头变凤凰的机会 你现在要在御花园里邂逅这个皇上
你去问皇上身边的太监:'皇上会不会来'(第一个判断)
如果来 我是跳舞还是唱歌(第二个判断) 吸引皇上
如果跳舞就飞黄腾达
如果唱歌就拖出去斩了
如果不来 白日梦破灭

boy=input('小李子,皇上会不会来')
if boy=='会':
    talk=input('那么我是唱歌还是跳舞好呢?')
    if talk=='跳舞':
        print('封为贵妃!')
    elif talk=='唱歌':
        print('斩了')
    else:
        print('请正确输入回答')
elif boy=='不会':
    print('白日梦破灭')

else:#else一般放提醒用户正确输入的操作,不要把他作为一个其他的条件判断
    print('请正确输入回答')

7.2 嵌套循环

我想做个数字方针 长宽各5 该怎么输出呢

2 2 2 2 2

2 2 2 2 2

2 2 2 2 2

2 2 2 2 2

2 2 2 2 2
#外循环次数*内循环次循环得到的就是总共循环次数
for i in range(5):
    for j in range(5): #不能使用两个i,因为分不清
        print('2',end=' ') #end的默认值换成空格字符串后就不会自动换行了
    print('') #归外层循环管,作用就是每打印5个2就换一次行,因为print默认有换行属性,不需要打印其他字符串

 8、print的end

print是输出函数,默认是有换行这个属性:里面有一个属性叫做end,end的默认值是\n
    
end=' ',的意思是给末尾end传递一个空字符串,print打印时后加了这个end=' ',就相当于print原本的\n值是被替换成了空格字符串,那就没有默认自动换行的功能了

有什么问题欢迎随时评论或者私信哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@网工小赵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值