Python入门【 控制语句和逻辑思维、选择结构(条件判断结构)双分支选择结构、多分支选择结构、循环结构、while循环 】(七)

作者简介:大家好,我是爱敲代码的小王,CSDN博客博主,Python小白
系列专栏:python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发
如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步
如果感觉博主的文章还不错的话,请三连支持一下博主哦
博主正在努力完成2023计划中:以梦为马,扬帆起航,2023追梦人

python入门到实战专栏:从入门到实战
Python爬虫开发专栏:从入门到实战
 Python办公自动化专栏:从入门到实战
Python数据分析专栏:从入门到实战
Python前后端开发专栏:从入门到实战   

目录

 控制语句和逻辑思维

选择结构(条件判断结构)

双分支选择结构

多分支选择结构

循环结构

while循环 


 控制语句和逻辑思维

Python入门【 控制语句和逻辑思维、选择结构(条件判断结构)双分支选择结构、多分支选择结构、循环结构、while循环 】(七)_第1张图片

控制语句:把语句组合成能完成一定功能的小逻辑模块。

分为三类:顺序、选择和循环。 学会控制语句,是真正跨入编程界的“门槛”,是成为“程序猿”的 “门票”。 

1、“顺序结构”代表 “先执行a,再执行b” 的逻辑。比如,先找个女朋友,再给女朋友打电话;先订婚,再结婚; 

2、“顺序结构”代表 “先执行a,再执行b” 的逻辑。比如,先找个女朋友,再给女朋友打电话;先订婚,再结婚;

3、“循环结构”代表 “如果…,则重复执行…” 的逻辑。比如,如果没打通女朋友电话,则再继续打一 次; 如果没找到喜欢的人,则再继续找

实时效果反馈

1. 条件判断语句,代表现实中的什么逻辑? 

A “先执行a,再执行b”

B “如果…,则…”

C “如果…,则重复执行…”

D 必须执行

2. 循环语句,代表现实中的什么逻辑?

A “先执行a,再执行b”

B “如果…,则…”

C “如果…,则重复执行…”

D 必须执行

选择结构(条件判断结构)

Python入门【 控制语句和逻辑思维、选择结构(条件判断结构)双分支选择结构、多分支选择结构、循环结构、while循环 】(七)_第2张图片

选择结构通过判断条件是否成立,来决定执行哪个分支。选择结构有多种形式,分为:单分支、双分支、多分支。 

 单分支选择结构

Python入门【 控制语句和逻辑思维、选择结构(条件判断结构)双分支选择结构、多分支选择结构、循环结构、while循环 】(七)_第3张图片

if语句单分支结构的语法形式如下:

if 条件表达式:

    语句/语句块 

1 条件表达式:可以是逻辑表达式、关系表达式、算术表达式等等。

2 语句/语句块:可以是一条语句,也可以是多条语句。多条语句,缩进必须对齐一致 

【操作】输入一个数字,小于10,则打印这个数字(if_test01.py)

num = input("输入一个数字:")
if int(num)<10:
    print("小于10的数:"+num)

 条件表达式详解

在选择和循环结构中,条件表达式的值为 False 的情况如下: False、0、0.0、空值None、空序列对象(空列表、空元祖、 空集合、空字典、空字符串)、空range对象、空迭代对象。 其他情况,均为 True 。这么看来,Python所有的合法表达式都可以看做条件表达式,甚至包括函数调用的表达式。

 【操作】测试各种条件表达式

if 3:    #整数作为条件表达式
    print("ok")
a = []   #列表作为条件表达式,由于为空列表,是False
if a:
    print("空列表,False")
s = "False"    #非空字符串,是True
if s:
    print("非空字符串,是True")
c = 9
if 3

⚠️条件表达式中,不能有赋值操作符 = 在Python中,条件表达式不能出现赋值操作符 = ,避免了其他 语言中经常误将关系运算符 == 写作赋值运算符 = 带来的困扰。 如下代码将会报语法错误:

if 3 < c and (c=20):   #直接报语法错误!
 print("赋值符不能出现在条件表达式中")

 实时效果反馈

1. 如下代码,打印输出的是:

s = "False"    
if s:
    print("Hello")

A Hello

B False

C 无打印输出

D "Hello"

双分支选择结构

Python入门【 控制语句和逻辑思维、选择结构(条件判断结构)双分支选择结构、多分支选择结构、循环结构、while循环 】(七)_第4张图片

双分支结构的语法格式如下:

if 条件表达式:
 语句1/语句块1
else:
 语句2/语句块2

 【操作】输入一个数字,小于10,则打印该数字;大于10,则打印 “数字太大”

num = input("输入一个数字:")
if int(num)<10:
    print(num)
else:
    print("数字太大")

三元条件运算符

Python入门【 控制语句和逻辑思维、选择结构(条件判断结构)双分支选择结构、多分支选择结构、循环结构、while循环 】(七)_第5张图片

Python的三元运算符,用来在某些简单双分支赋值情况。三元条件运算符语法格式如下: 

条件为真时的值 if (条件表达式) else 条件为假时的 值 

上一个案例代码,可以用三元条件运算符实现:

num = input("请输入一个数字")
print( num if int(num)<10 else "数字太大")

 可以看到,这种写法更加简洁,易读。

实时效果反馈

1. 如下代码中if-else结果,可以用哪个代码替换:

a = input("输入一个数字:")
a = int(a)
if a<10:
    a = 0
else:
    a = "数字太大"

A a = 0 if a<10 : "数字太大"

B a = if a<10 else "数字太大"

C a = 0 if a<10 else "数字太大"

D a = a if a<10 else "数字太大"

多分支选择结构

Python入门【 控制语句和逻辑思维、选择结构(条件判断结构)双分支选择结构、多分支选择结构、循环结构、while循环 】(七)_第6张图片

多分支选择结构的语法格式如下:

if 条件表达式1 :
 语句1/语句块1
elif 条件表达式2:
 语句2/语句块2
...
elif 条件表达式n :
 语句n/语句块n
[else:  语句n+1/语句块n+1 ]

 注:计算机行业,描述语法格式时,使用中括号 [ ] 通常表示可选,非必选。

⚠️多分支结构,几个分支之间是有逻辑关系的,不能随意颠倒顺序 

【操作】输入一个学生的成绩,将其转化成简单描述:不及格(小于 60)、及格(60-79)、良好(80-89)、优秀(90-100)

方法1(使用完整的条件表达) 

score = int(input("请输入分数"))
grade =  ''
if(score<60):
    grade = "不及格"
if(60<=score<80):
    grade = "及格"
if(80<=score<90):
    grade = "良好"
if(90<=score<=100):
    grade = "优秀"
print("分数是{0},等级是 {1}".format(score,grade))

每个分支都使用了独立的、完整的判断,顺序可以随意挪动, 而不影响程序运行。

方法2(利用多分支结构) 

score = int(input("请输入分数"))
grade =  ''
if score<60 :
    grade = "不及格"
elif  score<80 :
    grade = "及格"
elif  score<90 :
    grade = "良好"
elif  score<=100:
    grade = "优秀"
print("分数是{0},等级是 {1}".format(score,grade))

⚠️多分支结构,几个分支之间是有逻辑关系的,不能随意颠倒顺序

【操作】已知点的坐标(x,y),判断其所在的象限

x = int(input("请输入x坐标"))
y = int(input("请输入y坐标"))
if(x==0 and y==0):print("原点")
elif(x==0):print("y轴")
elif(y==0):print("x轴")
elif(x>0 and y>0):print("第一象限")
elif(x<0 and y>0):print("第二象限")
elif(x<0 and y<0):print("第三象限")
else:
    print("第四象限")

 实时效果反馈

1. 如下代码,若输入的分数是75,打印输出的是:

score = int(input("请输入分数"))
grade =  ''
if score<60 :
    grade = "不及格"
elif  score<80 :
    grade = "及格"
elif  score<90 :
    grade = "良好"
elif  score<=100:
    grade = "优秀"
print("分数是{0},等级是 {1}".format(score,grade))

A 不及格

B 及格

C 分数是75,等级是及格

D 分数是75,等级是良好

选择结构嵌套

选择结构可以嵌套,使用时一定要注意控制好不同级别代码块的缩 进量,因为缩进量决定了代码的从属关系。 【操作】输入一个分数。分数在0-100之间。90以上是A,80以上是 B,70以上是C,60以上是D。60以下是E

score = int(input("请输入一个在0-100之间的数字:"))
grade = ""
if score>100 or score<0:
    score = int(input("输入错误!请重新输入一个在0-100之间的数字:"))
else:
    if score>=90:
        grade = "A"
    elif score>=80:
        grade = 'B'
    elif score>=70:
        grade = 'C'
    elif score>=60:
        grade = 'D'
    else:
        grade = 'E'
print("分数为{0},等级为 {1}".format(score,grade))

 或者也可以用下面代码更少的方法。不过,需要大家思考为什么这么写?

score = int(input("请输入一个在0-100之间的数字:"))
degree = "ABCDE"
num = 0
if score>100 or score<0:
    score = int(input("输入错误!请重新输入一个在0-100之间的数字:"))
else:
    num = score//10
    if num<6:num=5
print("分数是{0},等级是 {1}".format(score,degree[9-num]))

循环结构

Python入门【 控制语句和逻辑思维、选择结构(条件判断结构)双分支选择结构、多分支选择结构、循环结构、while循环 】(七)_第7张图片

Python入门【 控制语句和逻辑思维、选择结构(条件判断结构)双分支选择结构、多分支选择结构、循环结构、while循环 】(七)_第8张图片 

循环结构用来重复执行一条或多条语句。表达这样的逻辑:如果符合条件,则反复执行循环体里的语句。在每次执行完后都会判断一 次条件是否为True,如果为True则重复执行循环体里的语句。图示 如下: 

Python入门【 控制语句和逻辑思维、选择结构(条件判断结构)双分支选择结构、多分支选择结构、循环结构、while循环 】(七)_第9张图片 

循环体里面的语句至少应该包含改变条件表达式的语句,以使循环趋于结束;否则,就会变成一个死循环。 

while循环 

while循环的语法格式如下:

while 条件表达式:
 循环体语句

我们通过一些简单的练习,来慢慢熟悉while循环。

【操作】利用while循环打印从0-10的数字

num = 0
while num<=10:
    print(num)
    num += 1

【操作】利用while循环,计算1-100之间数字的累加和;计算1- 100之间偶数的累加和,计算1-100之间奇数的累加和

num = 0
sum_all = 0         #1-100所有数的累加和
while num<=100:
    sum_all += num
    num += 1         #迭代,改变条件表达式,使循环趋于结束
print("1-100所有数的累加和",sum_all)

实时效果反馈

1. 如下代码,计算1+2+...+100,空白处需要填入的代码是:

num = 0
sum_all = 0         #1-100所有数的累加和
while num<=100:
     ___________
    num += 1         #迭代,改变条件表达式,使循环趋于结束
print("1-100所有数的累加和",sum_all)

A sum_all = num"

B num+= sum_all

C sum_all = num+1

D sum_all += num

你可能感兴趣的:(python入门到实战,python,数据分析)