python流程控制

目录

if语句

条件表达式与关系运算符

if-else条件语句

多重if语句

if语句的常见问题

使用if-elif-else语句时,容易出现逻辑错误

if语句中,语句块没有缩进也是容易犯的错误

Python的循环

while循环

while循环语句

Python的注释

字符串的格式化输出

while循环嵌套

for 循环

for 循环的几种方式

for循环可以对字符串进行遍历,逐个获得字符串的每个字符

for循环可以对列表和元组进行遍历,

for 循环示例

逻辑运算符

for 循环嵌套

循环控制

break语句

continue语句


if语句

if语句用于根据条件执行不同的代码块。condition是一个布尔表达式,后面一定要加冒号,这是python语法规定。if语句后面的条件表达式是可以加括号的,但并不是必须的。使用括号可以使代码更加清晰易读,特别是在复杂的条件表达式中。然而,括号并不是语法要求,可以根据个人编码风格和团队约定进行选择。

1:if语句的语法及应用示例
if语句用于判断某个条件是否成立。如果成立,则执行语句内的程序;否则跳过if语句,执行后
面的内容,语法格式如下:

if condition:
代码块
else:
代码块

 示例:下面的代码演示了如何使用if语句来判断一个数是否为正数:

num=int(input("请输入一个整数:"))
if num > 0:
print("输入的数是正数")
else:
print("输入的数不是正数")

 示例:接收学生的考试成绩,使用 if语句判断。如果考试成绩大于等于60分,输出"合格

print(请输入学生考试成绩')
score = int(input())
print (score >= 60)
if score >= 60:
print(合格')

条件表达式与关系运算符

使用if语句时,后面要用到条件表示式和关系运算符,它们可以经过运算得到布尔值。如前面示例的score>=60就是一个使用关系运算符">="的条件表达式表示:如果score大于等于60,则表达式的结果是True(真);否则为False(假)。条件表达式的语法如下
语法:
操作数   关系运算符   操作数

关系运算符
说明
等于
!=不等于
>大于
小于
>=大于等于
<=小于等于

if-else条件语句

if语句还可以加上else关键字,根据条件判断,决定执行不不同的语句块。当条件为真时,执行语
句块1。当条件为假时,执行语句块2,语法如下。
语法:
if条件表达式:
语句块1else:
语句块2

示例:接收学生的考试成绩,使用if语句判断。如果考试成绩大于等于60分,输出"合格";否则,输出"需要努力"。

(请输入学生考试成绩:')
print
int(input())
score
if score >= 60
print(合格')
else:
print(需要努力')

多重if语句

使用if-else语句通过条件判断使程序能够有2条执行路径,但有时还需要更多条路径进行处理,这时可以加入elif关键字处理。语法:

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

当条件1成立时,执行条件1对应的语句块1。当条件2或条件3成立时,则分别执行对应的语句块。当前面的条件都不成功时,执行 else对应的语句块。

示例5:接收学生的考试成绩。如果考试成绩大于等于90分,则输出"优秀"。如果考试成绩小于90分
且大于等于70分,则输出"良好"。如果考试成绩小于70分且大于等于60分,则输出"合格"。如果考试成绩小于60分,则输出"需要努力".

print(请输入学生考试成绩')
score =int(input())
if score >= 90:
print('优秀')
elif score >= 70:
print('良好')
elif score >= 60:
print(合格')
else:
print(需要努力')

 使用键盘输入不同的值,执行了不同的语句块,输出不同的结果。if语句中,else关键字是可选项,可以有也可以没有,需要根据程序的需要灵活掌握。

if语句的常见问题

使用if-elif-else语句时,容易出现逻辑错误

因为条件是由上向下判断,如果条件成立,下面的条件判断将不再执行。

以下代码就是逻辑错误的典型情况:

score = int(input())
if score >= 60:
   print(合格')
elif score >= 70:
   print('良好')
elif score >= 90:
   print('优秀')
if语句中,语句块没有缩进也是容易犯的错误

如下代码直接报错:

score = int(input())
if score >= 90:
print('优秀')

 编写代码时,要保证同级语句缩进的空格必须绝对一致。即使只有一个空格的差别,它们已经表示不同的语句块了。

如下代码所示,执行时会报错:

score = int(input())
if score >= 90:
print('优秀1')
print('优秀2')

  第2条输出语句比第1条多了1个空格,执行时会报错。

Python的循环

while循环

while循环语句

循环的条件表达式后面也要使用冒号,然后缩进写循环操作语句。while语句是先判断后执行。即
先判断条件表达式是否成立,如果条件表达式的值为True,则执行循环操作语句。如果其值为False,
则跳出循环,执行while语句后面的语句。

当 count值小于正整数5时,执行加1操作。当 count小于5时,输出count的值。

count = 0
while (count < 5):
  count
  count + 1
  print (count)

  示例:输入5门课程的考试成绩,计算平均分并输出。

i= 1
sum=0
while i <= 5:
print  (请输入第%d门课程的考试成绩'%i)
sum=sum+ int(input(
i = i + 1
avg = sum / ( i - 1 )
print('5门课程的平均成绩是%d'%avg)
Python的注释

对于编写好的代码,经过一段时间之后,有可能会忘记代码的具体作用,所以代码中要写一些注释文
字,以便于日后阅读和修改代码。Python中使用"#"开头表示注释,可以在代码中添加注释。

示例:添加了注释的Python代码

输入5门课程的考试成绩,计算平均成绩

i=1
sum=0
while i <= 5:
print(请输入第%d门课程的考试成绩'%i)
int(input())
sum =i = i + 1
avg=sum / (i-1)
print('5门课程的平均成绩是%d'%avg)
字符串的格式化输出

字符串中的"%d",表示插入的是一个整型数据,%s格式化字符串,%f格式化浮点数字字符串后面的"%i"表示获取变量i的值。

示例:常用替代符的使用情况。

num = 5
numStr = "5"
numF = 5.55
print("第%d名"%num)
print("第%s名"%numStr)
print("浮点数是:%f"%numF)

while循环嵌套

在while语句中,可以包含另一个while语句,即:使用while语句可以实现嵌套循环。

示例:使用while语句分别接收2名学生的5门课程考试成绩,计算并输出每个人的平均成绩。

j = 1
prompt='请输入学生姓名:'
while j <= 2:
sum=0#每个人的总成绩清零
i = 1
name = input(prompt)
while i <= 5:
print(请输入第%d门课程的考试成绩'%i)
sum = sum + int(input())
i = i + 1
avg = sum / ( i - 1 )
print('%s的平均成绩是:%d'%(name,avg))
j = j+1
print(学生成绩输入完成')

 

for 循环

for语句是另一种用于控制循环结构的方式。Python的while是使用条件判断执行循环,而for是使用遍历元素的方式进行循环。

for 循环的几种方式
for循环可以对字符串进行遍历,逐个获得字符串的每个字符

示例代码如下:

for letter in 'Python':
print('Current letter:%s' %letter)
Current letter:P
Current letter:y
Current letter:t
Current letter:h
Current letter:o
Current letter:n
for循环可以对列表和元组进行遍历

示例代码如下:

>>>fruits=["西瓜",苹果","葡萄"]
>>> for fruit in fruits:
print(fruit)
西瓜
苹果
葡萄

 需要循环操作相同的内容时,可以用for循环和range()函数结合使用,先看看range()函数的作用,示例代码如下:

>>> print (list(range(0,5)))
[0,1,2,3,4]
>>> print (list(range(0,5,2)))
[0,2,4]
for 循环示例

示例:接收某个学生三门课程的考试成绩,计算输出平均均成绩

subjects=("Python', 'MySQL', 'Linux')
sum=0
for i in subjects:
print(请输入%s考试成绩:'%i)
score = int(input())
sum +=score 
avg = sum / len(subjects)
print(小明的平均成绩是%d'%avg)
逻辑运算符

and逻辑与如果两个操作数都为True,则表达式值为True
or逻辑或如果两个操作数中有一个为True,则表达式值为True
not逻辑非求反运算,如果操作数值为True,则表达式值为False

下面演示逻辑运算符的使用方法:

>>>print (not True)
False
>>> print (True and False)
False
>>> print (True or False)
True

 not是求反运算,所以not True的结果是False;
and是与运算,只要有一个值是False,结果就是False,所以(True and False)的结果是False;
or 是或运算,只要有一个值是True,结果就是True,所以(True orFalse)的结果是True

 下面对成绩做一个有效性的判断,示例代码如下:

>>> score=180
>>> if(score<0 or score>100):
print(成绩错误,不能小于0或大于100')
成绩错误,不能小于0或大于100
for 循环嵌套

与while循环一样,for语句也可以使用嵌套的方式。
示例:使用for语句分别接收2名学生的5门课程考试成绩,i计算并输出每个人的平均成绩

students=['小明',小张']
subjects = (Python', 'MySQL', 'Linux
for student in students:
sum=0
for subject in subjects:
print(请输入%s 的%s考试成绩:'%(student,subject))
score = int(input())
sum += score
avg = sum / len(subjects)
print(%s的平均成绩是%d'%(student,avg))

 在for循环中嵌套while循环:

students=['小明',小张']
subjects = ('Python', 'MySQL', 'Linux')
for student in students:
sum =
i = 0
while(i

循环控制

使用while和for语句执行循环操作时,有可能需要改变循不的正常执行顺序,这时就需要用循环控制语句实现,循环控制语句有break和continue。

break语句

在循环语句块中使用break语句,可以跳出整个循环。

对输出平均成绩的代码进行修改,当成绩无效时,使用break退出循环。

students=['小明',小张']
subjects = ('Python', 'MySQL', 'Linux')
for student in students:
sum = 0
i = 0
while(i 100):
print(输入的成绩需要大于0或小100,循环退出")
break
sum+= score
i = i+1
avg = sum / len(subjects)
print('%s的平均成绩是%d'%(student, avg))
continue语句

在Python中,continue语句用于跳过当前循环中的剩余代马,并继续执行下一次循环。当continue语句被执行时,程序将立即跳转到循环的开头,而不执行COIntinue语句之后的代码。它通常用于条件判断内部,用来控制循环的执行流程。

分别接收2个学生3门课程(Python',MySQL',Linux')的考试成绩,要求成绩的取值范围是大
于等于0且小于等于100;计算并输出每个学生的平均成绩质,示例14代码:

students=['小明','小张']
subjects=(Python', 'MySQL', 'Linux')
for student in students:
sum = 0
i = 0
while(i 100):
print(输入的成绩需要大于0或小100,循环继续')
continue
sum += score
i = i+1
avg = sum / len(subjects)
print('%s的平均成绩是%d'%(student,avg))

 

你可能感兴趣的:(python,开发语言)