用python写出代码:输入两个正整数a,b,计算两个正整数各对应位乘积之和. 例如a=1123,b=405, 输出为19(1*0+1*4+2*0+3*5=19). 如果a,b不是正整数,输出error。
时间: 2024-03-08 18:50:42 浏览: 108
好的,请看下面的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",如果都是正整数,则程序会计算两个数各对应位乘积之和,最后输出结果。
相关问题
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("请输入第二个正整数:")
# 判断输入的是否为正整数
if not a.isdigit() or not b.isdigit():
print("error")
else:
# 将输入的字符串转换为数字列表
a = list(map(int, a))
b = list(map(int, b))
# 对应位相乘并求和
res = sum([a[i] * b[i] for i in range(min(len(a), len(b)))])
print(res)
```
你可以在命令行或者 Python 编辑器中运行这段代码。
阅读全文