我在使用 *mul* 运算符乘以变量时遇到问题

I have problem with using the *mul* operator to multiply varibales

我将字符串拆分并转换为 int,我想使用 mul 运算符直接相乘。但是在打印最后一个输出时它们是错误的。

from operator import mul 
# mulptiply user input
input_string = input("Enter numbers for summing :")

print("/n")
user_list = input_string.split()
print('list:', user_list)

# for loop to iterate 
for x in range(len(user_list)):
        user_list[x] = int(user_list[x]
                           
 # calc the mul of the list   
print("Multiplication of list =", mul(user_list))

mul 函数一次接受 2 个参数和 returns 它们的乘积。如果您想使用 mul 来计算数字列表的乘积,您可以使用 functools.reduce 将该函数累积应用于每个列表项以获得聚合结果:

from functools import reduce
from operator import mul

user_list = [2, 3, 4]
print(reduce(mul, user_list)) # outputs 24

从 Python 3.8 开始,您还可以使用 math.prod 直接计算数字列表的乘积。