Quan sát hàm tinhTongSo() và hàm tinhTichSo() dưới đây, em hãy giải thích mỗi câu lệnh của hàm sẽ thực hiện công việc gì và ý nghĩa giá trị trả về của mỗi hàm.
def tinhTongSo(n):
tongSo = 0
m = len(str(n))
for i in range(m):
if i % 2 == 0 and len(str(i)) == m:
tongSo += i
return tongSo
def tinhTichSo(s):
tichSo = 1
kt = len(str(s))
for i in str(s):
tichSo = tichSo * int(i)
tichSo = tichSo * int(kt)
return tichSo
*Hàm tinhTongSo(n)
+ def tinhTongSo(n):: Định nghĩa một hàm tên là tinhTongSo nhận vào một tham số n.
+ tongSo = 0: Khởi tạo biến tongSo với giá trị ban đầu là 0, biến này dùng để lưu tổng các số thỏa mãn điều kiện.
+ m = len(str(n)): Chuyển n thành chuỗi, lấy độ dài của chuỗi đó và gán cho biến m. m ở đây là số chữ số của n.
+ for i in range(n):: Bắt đầu vòng lặp for từ 0 đến n-1.
+ if i % 2 == 0 and len(str(i)) < m:: Kiểm tra hai điều kiện:
i % 2 == 0: i là số chẵn.len(str(i)) < m: Số chữ số của i nhỏ hơn số chữ số của n.+ tongSo = tongSo + i: Nếu cả hai điều kiện trên đều đúng, cộng i vào biến tongSo.
+ return tongSo: Trả về giá trị của biến tongSo.
=> Ý nghĩa giá trị trả về: Hàm này trả về tổng của tất cả các số chẵn nhỏ hơn n và có số chữ số ít hơn số chữ số của n.
*Hàm tinhTichSo(n)
+ def tinhTichSo(n):: Định nghĩa một hàm tên là tinhTichSo nhận vào một tham số n.
+ tichSo = 1: Khởi tạo biến tichSo với giá trị ban đầu là 1, biến này dùng để lưu tích các chữ số của n.
+ s = str(n): Chuyển n thành chuỗi và gán cho biến s.
+ for kt in s:: Bắt đầu vòng lặp for duyệt qua từng ký tự kt trong chuỗi s.
+ tichSo = tichSo * int(kt): Chuyển ký tự kt thành số nguyên và nhân vào biến tichSo.
+ return tichSo: Trả về giá trị của biến tichSo.
=> Ý nghĩa giá trị trả về: Hàm này trả về tích của tất cả các chữ số trong số n.