1. Cú pháp sử dụng hàm math.prod() trong Python

Hàm math.pow() trong Python được sử dụng để trả về tích của tất cả các phần tử có trong LIST, TUPLE hoặc SET. Hàm cũng có thể được sử dụng để tính tích các phần tử được chỉ định ở một ví trị bất kỳ trong bộ LIST, TUPLE hoặc SET. Cú pháp hàm math.pow() như sau:

math.prod(iterable, start)

Tham số:

  • iterable là một bộ hay tập hợp như LIST, TUPLE hoặc SET cần tính tích các phần tử.
  • start là chỉ số được đánh dấu bắt đầu việc tính tích các phần tử. Tham số này không bắt buộc!
Giá trị trả về: Một kiểu giá trị float, là kết quả trả về sau khi tính tích các phần tử có trong LIST, TUPLE hoặc SET
Phiên bản Python: 3.8

Lưu ý: Nếu tồn tại nhiều phần tử trong bộ tập hợp LIST, TUPLE hoặc SET không phải là kiểu số, khi đó hàm sẽ gây ra lỗi TypeError khi thực thi!

Mẹo: Chúng ta có thể duyệt qua từng phần tử có trong mảng và tính tích của chúng thông qua toán tử gán *=.

2. Ví dụ hàm math.prod() trong Python

Ví dụ dưới đây, sử dụng hàm math.prod() để thực hiện tính tích các phần tử có trong LIST, TUPLE hoặc SET như bên dưới bằng cách chỉ truyền một tham số vào hàm:

import math

# Khai bao list, tuple, set
listA = [2,4,6]
tupleB = (1,3,5)
setC = {2,3,7}

# Tinh tich cac phan tu co trong list, tuple, set
print(math.prod(listA))
print(math.prod(tupleB))
print(math.prod(setC))

Kết quả:

48
15
42

Ví dụ tiếp theo, chúng ta có thể chỉ định vị trí bắt đầu việc thực hiện tính tích trong bộ LIST, TUPLE hoặc SET bằng cách truyền thêm tham số thứ 2 vào trong hàm math.prod() – tham số thứ 2 này chỉ định vị trí bắt đầu thực hiện tính tích:

import math

# Khai bao list, tuple, set
listA = [2,4,6,8,10]
tupleB = (1,3,5,7,9)
setC = {2,3,7,8,9}

# Tinh tich cac phan tu co trong list, tuple, set bat dau tu vi tri 2
print(math.prod(listA,2))
print(math.prod(tupleB,2))
print(math.prod(setC,2))

Kết quả:

1920
945
1512

Ví dụ cuối cùng, truyền vào hàm math.prod() các bộ tập hợp LIST, TUPLE hoặc SET trong đó tồn tại nhiều phần tử không phải là kiểu số, khi đó hàm sẽ gây ra lỗi như sau:

import math

# Khai bao list, tuple, set
listA = [2,"a","c"]
tupleB = (1,"d","b")
setC = {"c",3,"e"}

# Tinh tich cac phan tu co trong list, tuple, set
print(math.prod(listA))
print(math.prod(tupleB))
print(math.prod(setC))

Kết quả:

Traceback (most recent call last):
  File "./prog.py", line 9, in <module>
TypeError: can't multiply sequence by non-int of type 'str'