题的目标很简单,就是求两个正整数a和b的和,其中a和b都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。\n\n输入格式:\n输入在一行给出a和b,其间以空格分开。问题是a和b不一定是满
时间: 2023-04-21 21:00:22 浏览: 197
足条件的正整数,可能是负数、零、或不是整数。\n\n输出格式:\n如果输入的两个数均不是正整数,则在一行中输出“你输入的不是正整数”。否则按格式“A + B = 和”输出其和,其中A和B要按输入顺序输出,和是A和B的和,等号和空格都要输出。\n\n输入样例1:\n-2 3\n\n输出样例1:\n你输入的不是正整数\n\n输入样例2:\n999 1001\n\n输出样例2:\n999 + 1001 = 200
相关问题
用python写编程:题的目标很简单,就是求两个正整数A和B的和,其中A和B都在区间[1,1000]。稍微有点麻烦的是,输入并不保证是两个正整数。 输入格式: 输入在一行给出A和B,其间以空格分开。问题是A和B不一定是满足要求的正整数,有时候可能是超出范围的数字、负数、带小数点的实数、甚至是一堆乱码。 注意:我们把输入中出现的第1个空格认为是A和B的分隔。题目保证至少存在一个空格,并且B不是一个空字符串。 输出格式: 如果输入的确是两个正整数,则按格式A + B = 和输出。如果某个输入不合要求,则在相应位置输出?,显然此时和也是?。 输入样例1: 123 456 输出样例1: 123 + 456 = 579 输入样例2: 22. 18 输出样例2: ? + 18 = ? 输入样例3: -100 blabla bla...33 输出样例3: ? + ? = ?
可以使用以下代码实现:
```python
input_str = input() # 读入一行字符串
# 将字符串按照空格分割,并转换为整数
try:
a, b = map(int, input_str.split())
except ValueError:
print('? + ? = ?')
else:
# 判断a和b是否在[1, 1000]的范围内
if 1 <= a <= 1000 and 1 <= b <= 1000:
print('%d + %d = %d' % (a, b, a + b))
else:
print('? + ? = ?')
```
首先,从标准输入读入一行字符串。然后,使用 `try-except` 结构将字符串按照空格分割,并尝试将分割后的两个字符串转换为整数。如果转换失败,则说明至少有一个输入不合法,输出 `? + ? = ?`。如果转换成功,则判断两个整数是否在[1, 1000]的范围内。如果都在,则输出计算结果,否则输出 `? + ? = ?`。
阅读全文