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.

Thử trong Trình chỉnh sửa

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))
Đầu ra thiết bị đầu cuối
Sum of digits for 12345: 15
Sum of digits for 908:   17

Triể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