正整数A+B
描述
题的目标很简单,就是求两个正整数A
和B
的和,其中A
和B
都大于0。稍微有点麻烦的是,输入并不保证是两个正整数。
输入格式
输入在一行给出A
和B
,其间以空格分开。问题是A
和B
不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。
注意:我们把输入中出现的第1个空格认为是A
和B
的分隔。题目保证至少存在一个空格,并且B
不是一个空字符串。
输出格式
如果输入的确是两个正整数,则按格式A + B = 和
输出。如果某个输入不合要求,则在相应位置输出?
,显然此时和也是?
。
输入输出示例
输入 | 输出 | |
示例 1 |
123.0 456 -123 abc
|
|
Python 与C语言不同,Python有一些功能可以通过很巧妙的算法完成。
比如说这道题,用C语言解至少需要85行代码,用Python可以只用17行代码完成。
这道题用到的最主要的代码是try和except,它们可以实现异常处理。
ls= input().split()
try:
a = int(ls[0])
if a < 0:
a = '?'
except:
a = '?'
try:
b = int(ls[1])
if b < 0:
b = '?'
except:
b = '?'
if a == '?' or b == '?':
print('{} + {} = {}'.format(a, b, '?'))
else:
print('{} + {} = {}'.format(a,b,a+b))