一、 Python的比较运算符及其应用
1 Python的比较运算符与比较表达式
Python的比较运算符及应用实例:
Python的逻辑运算符及应用实例:
运算符 |
名称 |
逻辑表达式 |
结合方向 |
说明 |
实例 |
运算结果 |
and |
逻辑与 |
x and y |
从左到右 |
如果x为False或0,x and y返回False或0,否则返回y的计算值 |
x and y |
10 |
x and z |
0 |
|||||
z and x |
0 |
|||||
or |
逻辑或 |
x or y |
从左到右 |
如果x为True,则返回x的值,否则返回y的计算值 |
x or y |
21 |
x or z |
21 |
|||||
z or x |
21 |
|||||
not |
逻辑非 |
not x |
从右到左 |
如果x为True,则返回False。如果x为False,则返回True |
not x |
False |
not y |
False |
|||||
not (x and y) |
False |
|||||
not (x or y) |
False |
|||||
not z |
True |
Python所有运算符从最高到最低的优先级:
序号 |
运算符 |
说明 |
1 |
** |
幂(最高优先级) |
2 |
~、+、- |
位取反、正号和负号 |
3 |
*、/、%、// |
算术运算符:乘、除、取余和取整除 |
4 |
+、- |
算术运算符:加、减 |
5 |
>>、<< |
位运算符:右移位、左移位 |
6 |
& |
位运算符:位与 |
7 |
|、^ |
位运算符:位或、位异或 |
8 |
<=、<>、>= |
比较运算符 |
9 |
==、!= |
等于、不等于 |
10 |
=、+=、-=、*=、**=、/=、//=、%= |
赋值运算符 |
11 |
is、is not |
身份运算符 |
12 |
in、not in |
成员运算符 |
13 |
not、or、and |
逻辑运算符 |
二、Python的选择结构及其应用
1 if语句及其应用
if语句由关键字if、判断条件和冒号组成,if语句和从属于该语句的代码段可组成选择结构。
if 条件表达式:
代码块
若if语句的判断条件成立(判断条件的布尔值为True),执行之后的代码段;若if语句的判断条件不成立(判断条件的布尔值为False),跳出选择结构,继续向下执行。
【实例3-4】演示Python中if语句的用法
var1 = 100
if var1:
print("1-if表达式条件为True")
print(var1)
var2 = 0
if var2:
print("2-if表达式条件为True")
print(var2)
print("Good bye!")
运行结果:
1-if表达式条件为True
100
Good bye!
从结果可以看到由于变量var2为0,所以对应的if内的语句没有运行。
2 if…else语句及其应用
【实例3-5】演示Python中if…else语句的用法
password= input("请输入密码:")
if password =="123456":
print("输入的密码正确")
else:
print("输入的密码错误")
运行结果:
请输入密码:666
输入的密码错误
3 if…elif…else语句及其应用
除了提供单分支和双分支条件语句外,还提供多分支条件语句if-elif-else。多分支条件语句用于处理单分支和双分支无法处理的情况,其语法格式如下:
if 判断条件1:
代码段1
elif 判断条件2:
代码段2
elif 判断条件3:
代码段3
...
else:
代码段n
执行if-elif-else语句时,若if条件成立,执行if语句之后的代码段1;若if条件不成立,判断elif语句的判断条件2:条件2成立则执行elif语句之后的代码段2,否则继续向下执行。以此类推,直至所有的判断条件均不成立,执行else语句之后的代码段。
【实例3-6】演示Python中if…elif…else语句的用法
score=86
grade=""
if score>=90:
grade="A"
elif score>=80:
grade="B"
elif score>=60:
grade="C"
else:
grade="D"
print("考试成绩为:{},等级为:{}等。".format(score,grade))
运行结果:
考试成绩为:86,等级为:B等。
4 if语句的嵌套结构
通过if嵌套可以实现程序中条件语句的嵌套逻辑。if嵌套的语法格式如下所示:
if 判断条件1: # 外层条件
代码段1
if 判断条件2: # 内层条件
代码段2
...
执行if嵌套时,若外层判断条件(判断条件1)的值为True,执行代码段1,并对内层判断条件(判断条件2)进行判断:若判断条件2的值为True,则执行代码段2,否则跳出内层条件结构,顺序执行外层条件结构中内层条件结构之后的代码;若外层判断条件的值为False,直接跳过条件语句,既不执行代码段1,也不执行内层的条件结构。
【实例3-7】演示if语句的嵌套结构的用法
num=int(input("输入一个数字:"))
if num%2==0:
if num%3==0:
print("输入的数字可以被2和3整除。")
else:
print("输入的数字可以被2整除,但是不能被3整除。")
else:
if num%3==0:
print("输入的数字可以被3整除,但不能被2整除。")
else:
print("输入的数字不能被2和3整除。")
运行结果:
输入一个数字:7
输入的数字不能被2和3整除。
【任务3-5】应用if…elif…else语句计算分期付款的服务费
【任务实施】
term=int(input("请选择分几期付款(1、3、6、12、24):"))
if term==1:
serviceFee=0
elif term==3:
serviceFee = term * 11.53
elif term==6:
serviceFee = term * 5.87
elif term==12:
serviceFee = term * 3.03
elif term==24:
serviceFee = term * 1.61
print("服务费为:{:.2f}元".format(serviceFee))
运行结果:
请选择分几期付款(1、3、6、12、24):6
服务费为:35.22元
三、for循环语句及其应用
1 for循环语句
for语句一般用于实现遍历循环。遍历指逐一访问目标对象中的数据,例如逐个访问字符串中的字符;遍历循环指在循环中完成对目标对象的遍历。
for 临时变量 in 目标对象:
代码语句块
循环变量用于保存取出的值,序列结构为要遍历或迭代的序列对象,例如字符串、列表、元组等,语句块为一组被重复运行的多条语句。
for循环语句的运行流程如图所示。
Python中for循环的实例如下。
publisher = ["人民邮电出版社", "高等教育出版社", "电子工业出版社"]
for item in publisher:
print(item)
运行结果:
人民邮电出版社
高等教育出版社
电子工业出版社
1.使用内置range()函数生成序列数据
使用内置range()函数生成序列数据,然后使用for语句遍历序列,例如:
for item in range(5):
print(item, end=" ")
运行结果:
0 1 2 3 4
也可以使用range()函数指定区间的值生成序列数据,然后使用for语句遍历序列,例如:
for item in range(5,9) :
print(item, end=" ")
运行结果:
5 6 7 8
也可以使用range()函数指定数据序列开始数值、终点数值、增量(也称为“步长”),然后使用for语句遍历序列,例如:
for item in range(1, 10, 3) :
print(item, end=" ")
运行结果:
1 4 7
range()函数中指定的增量也可以是负数,例如:
>>>for item in range(10, 1, -3) :
print(item, end=" ")
运行结果:
10 7 4
【实例3-8】结合range()函数、len()函数遍历一个列表
publisher = ["人民邮电出版社", "高等教育出版社", "电子工业出版社"]
for item in range(len(publisher)):
print(item+1, publisher[item])
运行结果:
人民邮电出版社
高等教育出版社
电子工业出版社
2 for…else语句
for…else语句的基本语法格式如下。
for <变量> in <序列结构>:
<语句块1>
else:
<语句块2>
当for循环没有被break语句终止时,运行else语句。
【实例3-9】演示应用循环结构判断质数
for n in range(2, 8):
for m in range(2, n):
if n % m == 0:
print(n, '=', m, '*', n//m)
break
else:
print(n, '是质数') #循环中没有找到元素
运行结果:
2 是质数
3 是质数
4 = 2 * 2
5 是质数
6 = 2 * 3
7 是质数
逢7拍手游戏:
逢7拍手游戏的规则是:从1开始顺序数数,数到有7或者包含7的倍数的时候拍手。 本实例要求编写代码,模拟实现逢七拍手游戏,实现输出100以内需要拍手的数字的程序。
判断一个数字是否与7相关,可分为两种情况:1、是否为7的倍数,即一个数取模值为0;2、是否包含7。
for i in range(1, 101):
# 判断条件:既不包含7,也不是7的倍数
if "7" in str(i) or int(i) % 7 == 0:
# 输出,去掉了换行符
print('*', end="、")
# 如果包含7 输出*
elif "7" not in str(i) and int(i) % 7 != 0:
print(i, end='、')
四、 while循环语句及其应用
1 while循环语句
while语句一般用于实现条件循环,该语句由关键字while、循环条件和冒号组成,while语句和从属于该语句的代码段组成循环结构。
while 条件表达式:
代码语句块
【实例3-10】演示使用while循环语句计算1到10的总和
n = 10
sum = 0
number = 1
while number <= n:
sum = sum + number
number += 1
print("1 到{}之和为: {}".format(n,sum))
运行结果:
1 到10之和为: 55
【任务3-8】应用for循环语句显示进度的百分比
2 while…else语句
while…else语句的基本语法格式如下。
while <判断条件>:
<语句块1>
else:
<语句块2>
while循环的条件表达式为False时,当while循环没有被break语句终止时,运行else后面的语句块2。else语句可以理解为:作为“正常”完成循环的奖励。
【实例3-11】演示应用循环输出数字,并判断大小
count = 0
while count < 5:
print (count, "小于5")
count = count + 1
else:
print (count, "大于或等于5")
运行结果:
0 小于5
1 小于5
2 小于5
3 小于5
4 小于5
5 大于或等于5
break语句
break语句用于结束循环,若循环中使用了break语句,程序执行到break语句时会结束循环;若循环嵌套使用了break语句,程序执行到break语句时会结束本层循环。
for <循环变量> in <序列结构>:
<语句块>
if <条件表达式>:
break
其中,条件表达式用于判断何时调用break语句跳出循环。
示例:
for word in "Python":
if (word == 'o'):
break
print(word, end=" ")
运行结果:
P y t h
continue语句
continue语句用于在满足条件的情况下跳出本次循环,该语句通常也与if语句配合使用。
while <条件表达式1>:
<语句块>
if <条件表达式2>:
continue
其中,条件表达式2用于判断何时调用continue语句终止本次循环。
示例:
for word in "Python":
if (word == 'o'):
continue
print(word, end=" ")
运行结果:
P y t h n
3 循环中的跳转语句
【实例3-12】演示for循环中使用break语句
publisher=["人民邮电出版社","高等教育出版社","电子工业出版社","清华大学出版社"]
for item in publisher:
if item == "电子工业出版社":
print("跳出for循环")
break
print("循环数据:" + item)
else:
print("没有循环数据")
print("循环结束")
运行结果:
循环数据:人民邮电出版社
循环数据:高等教育出版社
跳出for循环
循环结束
在循环到“电子工业出版社”时,if语句的条件表达式的值为True,运行break语句跳出循环。
【实例3-13】演示while循环中使用break语句
n = 5
while n > 0:
n -= 1
if n == 2:
break
print(n)
print("循环结束。")
运行结果:
4
3
循环结束。
【实例3-14】演示for循环中使用continue语句
publisher=["人民邮电出版社","高等教育出版社","电子工业出版社","清华大学出版社"]
for item in publisher:
if item == "电子工业出版社":
print("终止本次循环")
continue
print("循环数据:" + item)
print("循环结束")
运行结果:
循环数据:人民邮电出版社
循环数据:高等教育出版社
终止本次循环
循环数据:清华大学出版社
循环结束
【实例3-15】演示while循环中使用continue语句
n = 5
while n > 0:
n -= 1
if n == 2:
continue
print(n)
print("循环结束。")
运行结果:
4
3
1
0
循环结束。
猜数字小游戏
猜数字由两个人参与,一个人设置一个数字,一个人猜数字,当猜数字的人说出一个数字,由出数字的人告知是否猜中:若猜测的数字大于设置的数字,出数字的人提示“很遗憾,你猜大了”;若猜测的数字小于设置的数字时,出数字的人提示“很遗憾,你猜小了”;若猜数字的人在规定的次数内猜中设置的数字,出数字的人提示“恭喜,猜数对了”。
根据以上要求编写代码,实现遵循上述规则的猜数字程序。
本章完!!!!