我得到了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()]))