任务描述:
依然是计算a+b
但是,输入中每行是一对a和b。其中会有一对是0和0标志着输入结束,且这一对不要计算。
输出描述:
对于输入的每对a和b,你需要在相应的行输出a、b的和。
如第二对a和b,他们的和也输出在第二行。
输入实例:
2 4
11 19
0 0
输出实例:
6
30
计算到一对0 0时,标志着输入结束,意味着这个时候退出循环,需要使用到if语句来给程序加上一个退出的条件。
if 语句
可以使用elif添加多个分支结构, elif条件分支可以有多个。
if 有西瓜:
# 如果有西瓜,则执行这里的代码块
elif 有苹果:
# 在没有西瓜的情况下,有苹果,则执行这里的代码块
else:
# 既没有西瓜,也没有苹果,上面的条件都为假,则执行这里的代码块
关系运算符
>
: 表示大于,比较左侧值是否大于右侧值<
: 表示小于,比较左侧值是否小于右侧值>=
: 表示大于等于,比较左侧的值是否大于或等于右侧的值<=
: 表示小于等于, 比较左侧的值是否小于或等于右侧的值!=
: 表示不等于,比较两个值是否不相等
逻辑运算符
可以表示一些 既要又要 的关系
and: 当运算符两边都为 true,结果才为 true
or:运算符两边有一个为true,结果就为true
not:将条件的判断值取反后返回。
if a == 0 and b == 0:
也可以写成
if not a and not b:
break退出循环
break就是用来终结理他最近的while,for语句的。break之后的代码都不再执行 。
完整代码如下:
while True:
try:
data = input().split()
a,b = int(data[0]),int(data[1])
if not a and not b:
# 或者if a==0 and b==0:
break # 遇到特定输入时退出循环
print(a+b)
except:
break
延伸:continue
除了break外,continue也可以用于跳出循环。同样,它也只能用于for,while之外。但是它的用法是跳出当前循环,执行下一次迭代。
当把上述代码换成continue:
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
当输入的a和b都为0,会跳出此循环,不再执行print(a+b),但是会继续执行输入-计算的循环。
延伸:条件运算符
条件运算符,也称为“三元运算符”,是经过简化后的 if-else 。它的格式如下:
语句1 if 条件表达式 else 语句2
条件运算符在运算时,会先对条件表达式进行求值判断。如果判断条件为true,则执行语句1,反之为false,执行语句2.
a = 20
b = 30
max = a if a>b else b