Python输入两个正整数a,b,计算两个正整数各对应位乘积之和. 例如a=1123,b=405, 输出为19(1*0+1*4+2*0+3*5=19). 如果a,b不是正整数,输出error。 【输入形式】一行两个正整数,以1个空格分隔 【输出形式】一个正整数或者error
时间: 2023-05-18 11:04:26 浏览: 233
以下是C知道的回答:
可以使用以下代码实现:
a, b = input().split()
if not a.isdigit() or not b.isdigit():
print("error")
else:
sum = 0
for i in range(len(a)):
if i >= len(b):
break
sum += int(a[i]) * int(b[i])
print(sum)
注意,这里使用了isdigit()函数来判断输入是否为正整数,如果不是则输出error。如果输入正确,则使用for循环遍历两个数的每一位,并计算乘积之和。
相关问题
python 输入两个正整数a,b,计算两个正整数各对应位乘积之和. 例如a=1123,b=405, 输出为19(1*0+1*4+2*0+3*5=19). 如果a,b不是正整数,输出error。
你可以参考下面的代码实现:
```python
a, b = input().split()
if not a.isdigit() or not b.isdigit():
print("error")
else:
res = 0
for x, y in zip(a, b):
res += int(x) * int(y)
print(res)
```
首先使用 `split()` 方法获取输入的两个正整数。然后使用 `isdigit()` 方法判断输入的参数是否都是正整数,如果不是则输出 `error`。如果都是正整数,则使用 `zip()` 函数遍历两个正整数的对应位置,并计算乘积之和,最后输出结果。
用python写出代码:输入两个正整数a,b,计算两个正整数各对应位乘积之和. 例如a=1123,b=405, 输出为19(1*0+1*4+2*0+3*5=19). 如果a,b不是正整数,输出error。
好的,请看下面的Python代码实现:
```python
a = input("请输入第一个正整数:")
b = input("请输入第二个正整数:")
try:
a = int(a)
b = int(b)
if a <= 0 or b <= 0:
print("error")
else:
sum = 0
while a > 0 and b > 0:
sum += (a % 10) * (b % 10)
a = a // 10
b = b // 10
print(sum)
except ValueError:
print("error")
```
输入两个正整数a,b,程序首先将输入的字符串转换成整数类型。如果输入的不是正整数,则会输出"error",如果都是正整数,则程序会计算两个数各对应位乘积之和,最后输出结果。
阅读全文