前言:本笔记仅仅只是对内容的整理和自行消化,并不是完整内容,如有侵权,联系立删。
一、关系运算符和逻辑运算符
在上一课中,我们已经通过 N < count 来确定 while 循环的次数,其中的 < 就是一个关系运算符。顾名思义,关系运算符就是用来判断左右两侧的表达式值的大小关系的运算符。如果关系成立,那么返回 True,否则返回 False。
一般来说,关系运算符包括大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)、不等于(!=)这六种。
Tip:一定要当心等于是双等号(==),而不是数学中的单等号。
但有的时候,我们还需要同时满足好几个条件,循环才能继续,因此 Python 提供了一些逻辑运算符帮助我们解决这类问题。它们分别是:
1、逻辑与运算(and):当运算符两边的条件判断都为真时,整个结果才为真
2、逻辑或运算(or):当运算符两边的条件判断只有一个为真时,结果就为真
3、逻辑非运算(not):将条件判断的值取反后返回,真的取反后为假的,假的取反后为真的。
二、利用 if 语句判断输入数对为 0,0
针对这个问题,我们可以发现和之前唯一的不同就是判断结束的条件发生了变化。现在要求以输入数对为 0,0 作为结束标志,为了实现判断这一过程,我们就要使用 if 语句。if语句是一种条件语句,表示假设在某种条件下,代码才可以执行。
而 if 语句是可以有多个分支的,它的基本语法结构为:
# if 语句的基本语法结构
if condition1:
# 执行代码块1
elif condition2:
# 执行代码块2
...
else:
# 执行代码块n
在上述结构中,最值得关注的就是 condition 的选择问题,我们一定要做到条件的覆盖区间不重叠,否则就不能实现判断的准确性。
三、break 和 continue 语句
1、使用 break 直接退出循环
根据已学知识,如果想要直接退出循环,不再运行剩下的代码,我们可以使用 break 语句。例如:
prompt = "\nPlease enter the name of a city you have visited:"
prompt += "\n(Enter 'quit' when you are finished)"
while True:
city = input(prompt)
if city == 'quit':
break
else:
print(f"I'd love to go to {city.title()}!")
上述程序可以实现如下输出结果:
Please enter the name of a city you have visited:
(Enter 'quit' when you are finished) new york
I'd love to go to New York
Please enter the name of a city you have visited:
(Enter 'quit' when you are finished) quit
2、使用 continue 直接提前进入下一轮循环
而如果希望直接返回循环开头,并根据条件测试结果决定是否继续执行循环,可使用 continue 语句。例如:
even_number = 0
while even_number <= 100:
even_number += 1
if even_number % 2 == 1:
continue
print(even_number,end = ' ')
上述程序实现了输出 1~100 中所有偶数的目的。
我们将所有内容整理之后,本题的代码也就完成了。
# a+b 问题3
while True:
try:
a,b = input().split()
# 判断输入的数对是否为0,0
if a==0 and b==0:
break
else
print(int(a)+int(b))
except:
break
所以如果在本题中使用continue会是怎样的呢? 当输入的a和b的值都为0时,会跳出本次循环,不再执行 print (a+b) 这行语句,也就是说,不再计算 a+b 的值并输出,但是不会终止循环,而是接着读取下一次输入。
while True:
try:
s = input().split()
a, b = int(s[0]), int(s[1])
if a == 0 and b == 0:
continue
print(a + b)
except:
break
四、条件运算符
条件运算符也称为“三元运算符”,是经过简化后的 if-else 语句。在执行时,会先对条件表达式进行求值判断, 如果判断结果为 True , 则执行语句1,并返回执行结果,如果判断结果为 False , 则执行语句2,并返回执行结果。
# 条件运算符
a = 30
b = 50
max = a>b if a else b
print(max)
上述程序的输出结果为 a 和 b 中的较大值。