目录
if语句
条件表达式与关系运算符
if-else条件语句
多重if语句
if语句的常见问题
使用if-elif-else语句时,容易出现逻辑错误
if语句中,语句块没有缩进也是容易犯的错误
Python的循环
while循环
while循环语句
Python的注释
字符串的格式化输出
while循环嵌套
for 循环
for 循环的几种方式
for循环可以对字符串进行遍历,逐个获得字符串的每个字符
for循环可以对列表和元组进行遍历,
for 循环示例
逻辑运算符
for 循环嵌套
循环控制
break语句
continue语句
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关键字,根据条件判断,决定执行不不同的语句块。当条件为真时,执行语
句块1。当条件为假时,执行语句块2,语法如下。
语法:
if条件表达式:
语句块1else:
语句块2
示例:接收学生的考试成绩,使用if语句判断。如果考试成绩大于等于60分,输出"合格";否则,输出"需要努力"。
(请输入学生考试成绩:')
print
int(input())
score
if score >= 60
print(合格')
else:
print(需要努力')
使用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关键字是可选项,可以有也可以没有,需要根据程序的需要灵活掌握。
因为条件是由上向下判断,如果条件成立,下面的条件判断将不再执行。
以下代码就是逻辑错误的典型情况:
score = int(input())
if score >= 60:
print(合格')
elif score >= 70:
print('良好')
elif score >= 90:
print('优秀')
如下代码直接报错:
score = int(input())
if score >= 90:
print('优秀')
编写代码时,要保证同级语句缩进的空格必须绝对一致。即使只有一个空格的差别,它们已经表示不同的语句块了。
如下代码所示,执行时会报错:
score = int(input())
if score >= 90:
print('优秀1')
print('优秀2')
第2条输出语句比第1条多了1个空格,执行时会报错。
循环的条件表达式后面也要使用冒号,然后缩进写循环操作语句。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代码
输入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语句分别接收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语句是另一种用于控制循环结构的方式。Python的while是使用条件判断执行循环,而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
示例代码如下:
>>>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]
示例:接收某个学生三门课程的考试成绩,计算输出平均均成绩
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
与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退出循环。
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))
在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))