Viết chương trình hiển thị tổng một chữ số của các số đã nhập bằng Python

Viết chương trình Python để cộng lặp lại các chữ số của một số nguyên dương cho đến khi kết quả có một chữ số

Giải trình

Viết chương trình hiển thị tổng một chữ số của các số đã nhập bằng Python

Giải pháp mẫu. -

Mã Python

def add_digits(num):
        return (num - 1) % 9 + 1 if num > 0 else 0

print(add_digits(48))
print(add_digits(59))

Đầu ra mẫu

3                                                                       
5

Sơ đồ

Viết chương trình hiển thị tổng một chữ số của các số đã nhập bằng Python

Trực quan hóa việc thực thi mã Python

Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên

Chúng tôi bắt đầu bằng cách chia số thành các chữ số và sau đó thêm tất cả các chữ số vào biến tổng. Để ngắt chuỗi ta sử dụng các toán tử sau

Toán tử modulo % được sử dụng để trích xuất các chữ số từ một số. Sau khi bỏ chữ số ta áp dụng phép chia để rút gọn số

Các phương pháp khác nhau để tìm tổng các chữ số của một số trong Python

Sử dụng các phương thức str() và int()

Để chuyển đổi một số thành một chuỗi, hãy sử dụng hàm str(). Để chuyển đổi một chuỗi chữ số thành một số nguyên, hãy sử dụng hàm int()

Chuyển đổi số thành một chuỗi, lặp qua từng chữ số trong chuỗi và thêm vào tổng các chữ số trong mỗi lần lặp

Luồng thuật toán

  • Bước 1. Thu thập đầu vào của người dùng

  • Bước 2. Tạo một biến để giữ kết quả

  • Bước 3. Chuyển đổi số thành một chuỗi

  • Bước 4. Viết một vòng lặp cho mỗi chữ số trong một số

  • Bước 5. Chuyển đổi chữ số thành một số nguyên và thêm nó vào tổng

  • Bước 6. Gọi hàm và in kết quả

Mã số

# Function to get sum of digits 
def getSum(n):
    
    sum = 0
    for digit in str(n): 
      sum += int(digit)      
    return sum
   
n = 569
print(getSum(n))

đầu ra

Sử dụng phép lặp

Ta sẽ sử dụng vòng lặp để tính tổng các chữ số của một số. Các vòng lặp được sử dụng để thực thi liên tục một đoạn mã cụ thể. Một số câu lệnh lặp là vòng lặp for, while và do-while

Để tìm chữ số ngoài cùng bên phải của một số nguyên, hãy chia số nguyên đó cho 10 cho đến khi nó bằng 0. Cuối cùng, phần còn lại sẽ là chữ số ngoài cùng bên phải. Sử dụng toán tử còn lại " phần trăm " để nhận lời nhắc. Chia thương thu được cho 10 để được tất cả các chữ số của một số. Để tìm thương số, chúng tôi sử dụng “//”

Luồng thuật toán

  • Bước 1. Tạo hàm tìm tổng sử dụng tham số n

  • Bước 2. Khai báo một biến sum để lưu tổng các chữ số

  • Bước 3. Tạo một vòng lặp sẽ chạy cho đến khi n lớn hơn 0

  • Bước 4. Đối với phần còn lại được trả về, hãy thêm biến tổng (n phần trăm 10)

  • Bước 5. Thay đổi n thành n/10

  • Bước 6. Thu thập phản hồi từ người dùng

  • Bước 7. Gọi hàm được xác định trước đó và chuyển đầu vào làm đối số

  • Bước 8. In tổng các giá trị được trả về bởi hàm

Mã số

# Function to get the sum of digits 
def getSum(n):
    
    sum = 0
    while (n != 0):
       
        sum = sum + (n % 10)
        n = n//10
       
    return sum
   
n = 569
print(getSum(n))

đầu ra

Sử dụng đệ quy

Đệ quy là quá trình xác định một vấn đề hoặc giải pháp cho một vấn đề theo một phiên bản đơn giản hơn của chính nó. Hàm tương ứng được gọi là hàm đệ quy. Việc sử dụng đệ quy loại bỏ yêu cầu về vòng lặp trong lập trình

Thực hiện theo thuật toán để có mô tả kỹ lưỡng về cách thức hoạt động của phần mềm

Luồng thuật toán

  • Bước 1. Tạo hàm tìm tổng các chữ số với tham số n để tính tổng

  • Bước 2. Xác định xem n có nhỏ hơn 10 không;

  • Bước 3. Nếu không, hãy chia số đó cho 10 và tìm số dư (n phần trăm 10)

  • Bước 4. Gọi đệ quy hàm và chuyển (n/10) làm tham số

  • Bước 5. Thêm phần còn lại và giá trị được trả về bởi hàm

  • Bước 6. Thu thập đầu vào của người dùng

  • Bước 7. Gọi hàm tổng các chữ số để tìm tổng các chữ số của một số, chuyển đầu vào dưới dạng tham số

Mã số

# sum of digits in number.
   
def sumDigits(no):
    return 0 if no == 0 else int(no % 10) + sumDigits(int(no / 10)) 
   
# Driver code
n = 569
print(sumDigits(n))

đầu ra

Sử dụng phương thức Sum()

Phương thức sum() dùng để tính tổng các chữ số của một số trong python trong danh sách

Chuyển đổi số thành một chuỗi bằng cách sử dụng str(), sau đó tách chuỗi và chuyển đổi nó thành một danh sách các số bằng các phương thức strip() và map() tương ứng. Sau đó, tính tổng bằng phương thức sum()

Luồng thuật toán

  • Bước 1. Tạo hàm tìm tổng các chữ số với tham số n để tính tổng

  • Bước 2. Số được chuyển thành chuỗi thông qua phương thức str()

  • Bước 3. Sau đó, chuỗi được sọc và chuyển đổi thành danh sách các chữ số của số đã cho thông qua phương thức strip() và map() tương ứng