将[int(x)乘以input().split()]中的x



我得到了2个整数,想直接将它们相乘。我知道:

X,Y = [int(x) for x in input().split()]

但如果不创建新行并只使用第三个变量,就无法真正弄清楚如何将它们相乘:

W = X*Y

有人能告诉我怎么做吗?自从sum((创建了一个列表以来,我一直在尝试寻找它。我不能使用任何库

由于这可能是为了解决编程网站上的挑战,我认为可读性不是首要任务,因此可以使用reduce(和map来消除显式循环(:

from functools import reduce
print(reduce(lambda a, b: a * b, map(int, input().split())))

额外的好处是,这适用于任何用空格分隔的任意数量的数字。

如果您使用Python 3.8+,您可以使用math模块中的prod,如下所示:

from math import prod
w = prod(int(x) for x in input().split())

对于早期版本,您应该使用functools模块中的reduce

from functools import reduce # this line is mandatory in Python 3
import operator
def prod(iterable):
return reduce(operator.mul, iterable, 1)

w = prod(int(x) for x in input().split())

您可以使用math.prod:

from math import prod
w = prod(int(x) for x in input().split())
print(w)

打印(例如(:

3 5
15

编辑:无库:

def my_prod(i, start=1):
out = start
for v in i:
out *= v
return out

w = my_prod(int(x) for x in input().split())
print(w)

我希望这就是您想要做的:

eval('*'.join([x for x in input().split()]))

最新更新