python3刷TK题库 1000: A+B 输入输出练习I (初次接触input())

in #acm7 years ago (edited)

这是一道练输入输出的题目。我其实觉得出得不是很明确。如果你看它的输入和输出示范,看起来是一下输入几行,然后一起输出结果。而实际要求是,你给一行输入,就输出这一行结果。后来没通过。我又仔细一看,原来。。。唉,这些细节没做好,所以提交了好几次都没过,哈哈。

这里还有一个小坑是input()函数在python2的返回值依赖于输入,如果输入是字符或整数,则相应的返回也为字符或整数;而在python3中不管输入是什么,返回值都是字符。所以要加int(input())进行转换。实际上,在python2中原来有raw_input()和input()两种处理输入的函数,后来因为安全性原因(因为raw_input()甚至允许输入是一个python表达式),在python3中去掉了原来python2的input(),而把raw_input()删掉表达式这部分而改名为input().

http://tk.hustoj.com/problem.php?id=1000

题目描述
你的任务是计算a+b。这是为了acm初学者专门设计的题目。你肯定发现还有其他题目跟这道题的标题类似,这些问题也都是专门为初学者提供的。

输入
输入包含一系列的a和b对,通过空格隔开。一对a和b占一行。

输出
对于输入的每对a和b,你需要依次输出a、b的和。

如对于输入中的第二对a和b,在输出中它们的和应该也在第二行。

样例输入
1 5
10 20
样例输出
6
30

我这个是用python3 (缩进全乱了,凑合看了,不好意思)

while True:
A,B = input().split()
if A == '':
break
C=int(A)+int(B)
print(C)

也附一个C的代码吧:

#include<stdio.h>
int main() {
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
 printf("%d\n",a+b);
return 0;
}

参考资料

  1. https://stackoverflow.com/questions/4915361/whats-the-difference-between-raw-input-and-input-in-python3-x

  2. http://blog.csdn.net/suibianshen2012/article/details/51378948

Sort:  

世界上有一种人叫作家,你就是其中之一!

写得太棒了,我喜欢!