Máy tính tổng các chữ số của Python
Tính tổng các chữ số riêng lẻ trong một số nguyên bằng toán tử toán học trong Python.
Tổng quan
Tính tổng các chữ số bao gồm việc trích xuất từng chữ số của một số một cách tuần tự và tích lũy các giá trị.
Trong Python, điều này có thể đạt được bằng cách sử dụng hai kỹ thuật chính: vòng lặp số học sử dụng modulo `% 10` và phép chia sàn `// 10` hoặc phép lặp chuyển đổi chuỗi.
Cách tiếp cận số học hoạt động trong thời gian O(log n) và không gian O(1), làm cho nó hiệu quả và không phụ thuộc vào ngôn ngữ.
Đầu ra mã & thực thi
Hàm tổng số học có giá trị tuyệt đối để hỗ trợ số âm.
def sum_digits(n):
n = abs(n)
total = 0
while n > 0:
total += n % 10 # Extract last digit
n //= 10 # Remove last digit
return total
print("Sum of digits for 12345:", sum_digits(12345))
print("Sum of digits for 908: ", sum_digits(908))Sum of digits for 12345: 15
Sum of digits for 908: 17Triển khai từng bước
- Tính toán gốc kỹ thuật số trong toán học
- Thuật toán băm và xác thực tổng kiểm tra
- Câu đố mã hóa thẩm mỹ và số học
Câu hỏi thường gặp
Điều này có thể được thực hiện trong một dòng trong Python không?
Vâng! Bạn có thể chuyển đổi số thành chuỗi, chuyển đổi từng ký tự thành số nguyên và tính tổng chúng: `sum(int(d) for d in str(abs(n)))`.
Chủ đề liên quan
Kiểm tra xem một chuỗi hoặc số có phải là một bảng màu không (đọc ngược cũng như đọc xuôi) bằng cách sử dụng tính năng cắt Python.
Trình kiểm tra số Python ArmstrongXác minh xem một số có phải là số Armstrong (tự ái) trong đó tổng các chữ số của chính nó được nâng lên lũy thừa của số chữ số bằng chính số đó hay không.