题目描述:
计算A+B,输入方式变化
对于输入的每对a和b,你需要在相应的行输出a、b的和。
如第二对a和b,对应的和也输出在第二行。
输入示例:
2
2 4
9 21
输出示例 :
# 不输出
6
30
for 循环
当输入n之后,表示后面会有N行a和b的输入,意味着循环只要执行n次,然后自动退出
N = int(input())
# range(N)生成 0 - N-1之间的序列, 共N个,循环N次
# _表示一个占位符,表示循环的迭代变量不会再循环内部使用
for _ in range(N):
data = input().split()
res = int(data[0]) + int(data[1])
print(int(res))
获取列表值的过程可以使用多重赋值,简化后的完整代码如下:
while True:
try:
N = int(input())
for _ in range(N):
# 把输入拆分成列表字符串,分别赋值给a, b
a,b = input().split()
print(int(a)+int(b))
except:
break
WHILE循环重讲
一般来说,while循环都会包含初始化语句、while条件判断、迭代语句这3个。上面的代码改写如下:
while True:
try:
N = int(input())
i = 0
while i < N:
a,b = input().split()
# 计算结果
print(int(a)+int(b))
# 将i的结构+1
i+=1
except:
break
数据类型的转换
之前的实例中,使用过int()函数把str转换为了int。
在Python中,数据类型转换可以分为2中:
1. 隐式类型转换
由python自动完成,不需要我们干预,比如:
res = 2 + 5.0
# 将整数5转换为5.0,然后执行加法。整数可以隐式转换为浮点数,方便执行浮点数运算。
在while条件判断中,如果我们给定的不是布尔值,而是一个整数类型的值,编译器会帮我们进行数据类型的转换,把整数转换为布尔值。
如果整数的值=0,则条件的值=False,其他非0的数都会转换为 True
扩展:sys模块
Python中内置 了很多强大的模块(标准库),sys模块就是python标准库中的一个模块,包含了很多和系统相关的变量和函数,常常用来处理输入和输出
相比input和print,sys 提供了更高级、更灵活的方式满足复杂的需求