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
Trong bài viết này, bạn sẽ tìm hiểu và lấy mã trong Python, để tìm và in tổng các chữ số của một số do người dùng nhập vào trong thời gian chạy. Dưới đây là danh sách các phương pháp được sử dụng để thực hiện nhiệm vụ
- Thêm chữ số của một số bằng vòng lặp while
- Sử dụng cho vòng lặp
- Sử dụng chức năng
- Sử dụng lớp
Ví dụ: nếu người dùng nhập một số là 235, thì đầu ra sẽ là 2+3+5, tức là 10
Thêm chữ số của một số bằng vòng lặp while
Chương trình đưa ra dưới đây nhận một số làm đầu vào từ người dùng và sử dụng vòng lặp while để tìm tổng các chữ số của số đã cho
print["Enter a Number"] num = int[input[]] sum = 0 while num>0: rem = num%10 sum = sum+rem num = int[num/10] print["\nSum of Digits of Given Number: ", sum]
Đây là đầu ra ban đầu được tạo bởi chương trình Python này
Bây giờ cung cấp đầu vào nói 123 và nhấn phím
ENTER
để tìm và in tổng các chữ số 1, 2 và 3 của nó như trong ảnh chụp nhanh bên dướiQuá trình chạy khô khan của chương trình trên với đầu vào của người dùng 123 diễn ra như sau
- Vì người dùng nhập 123, nên nó được lưu trữ trong num. Do đó, num=123 [được nhập bởi người dùng] và sum=0 [được khởi tạo 0 làm giá trị ban đầu]
- Bây giờ điều kiện của vòng lặp while được đánh giá. Nghĩa là, điều kiện num>0 hoặc 123>0 được đánh giá là đúng, do đó, luồng chương trình sẽ đi đến phần thân của nó và đánh giá cả ba câu lệnh
- Vì vậy, num%10 hoặc 123%10 hoặc 3 được khởi tạo thành rem. Bây giờ rem=3
- Và tổng+rem hoặc 0+3 hoặc 3 được khởi tạo thành tổng. Bây giờ tổng = 3
- Và cuối cùng int[num/10] hoặc int[123/10] hoặc int[12. 3] hoặc 12 được khởi tạo thành giá trị mới của num. Bây giờ num=12
- Bây giờ điều kiện của vòng lặp while lại được đánh giá. Bởi vì lần này điều kiện num>0 hoặc 12>0 cũng được đánh giá là đúng, do đó, một lần nữa, cả ba câu lệnh đều được thực hiện. Quá trình này tiếp tục cho đến khi điều kiện đánh giá là sai
- Bằng cách này, sau khi thoát khỏi vòng lặp, chúng ta sẽ có một biến tên là tổng chứa 6, tổng các chữ số của số đã cho
- Do đó, chỉ cần in giá trị của tổng dưới dạng đầu ra
Phiên bản sửa đổi của chương trình trước đó
Đây là phiên bản sửa đổi của chương trình trước đó. Trong chương trình này, nếu người dùng nhập một số nói 124, thì kết quả sẽ giống như 1+2+4=7
print[end="Enter a Number: "] num = int[input[]] sum = 0 print[end="\n"] while num>0: rem = num%10 sum = sum+rem num = int[num/10] if num==0: print[end=str[rem]] else: print[end=str[rem]+ "+"] print[" = " +str[sum]]
Đây là mẫu chạy với đầu vào của người dùng, 130259
Lưu ý - Phần cuối được sử dụng để bỏ qua việc thêm một dòng mới tự động bằng print[]
Thêm chữ số của số bằng vòng lặp
Bây giờ chương trình này sử dụng vòng lặp for thay vì vòng lặp while để thực hiện cùng một nhiệm vụ, đó là tìm và in tổng các chữ số của một số đã cho
print["Enter a Number: ", end=""] num = int[input[]] sum = 0 temp = num for i in range[len[str[temp]], 0, -1]: rem = num%10 sum = sum+rem num = int[num/10] print["\nSum of Digits of " +str[temp]+ " = " +str[sum]]
Đây là mẫu chạy với đầu vào của người dùng, 4052
Lưu ý - Tham số thứ ba của vòng lặp for [-1] dùng để lặp với biến vòng lặp [i] theo thứ tự ngược lại. Nghĩa là, kích thước của số đã cho là 1 [một số lớn hơn 0 [tham số thứ hai]]
Vì độ dài của "4052" [một chuỗi] là 4, do đó, cả ba câu lệnh đều được thực hiện ba lần
Lưu ý - Hàm str[] được sử dụng để chuyển đổi giá trị int thành giá trị kiểu chuỗi
Lưu ý - Len[] được sử dụng để tìm độ dài của chuỗi
Thêm chữ số của số bằng chức năng
Chương trình này sử dụng hàm do người dùng định nghĩa có tên addNumDig[] để tìm tổng các chữ số của một số đã cho. Hàm nhận một số làm đối số và trả về tổng các chữ số của nó
def addNumDig[n]: sum = 0 while n>0: rem = n%10 sum = sum+rem n = int[n/10] return sum print["Enter a Number: ", end=""] num = int[input[]] res = addNumDig[num] print["\nSum of Digits of " +str[num]+ " = " +str[res]]
Chương trình này tạo ra kết quả giống như chương trình trước
Thêm chữ số của số bằng Class
Đây là chương trình cuối cùng của bài viết này. Chương trình được tạo bằng cách sử dụng lớp và đối tượng, một tính năng hướng đối tượng của Python
class CodesCracker: def addNumDig[self, n]: sum = 0 while n>0: rem = n%10 sum = sum+rem n = int[n/10] return sum print["Enter a Number: ", end=""] num = int[input[]] ccObj = CodesCracker[] res = ccObj.addNumDig[num] print["\nSum of Digits of " +str[num]+ " = " +str[res]]
Đây là mẫu chạy với đầu vào của người dùng, 1046
Sử dụng tuyên bố sau
Tất cả các thuộc tính của lớp có tên CodesCracker được gán cho một đối tượng có tên là ccObj. Bây giờ đối tượng này có thể được sử dụng để truy cập chức năng thành viên của lớp CodesCracker bằng cách sử dụng dấu chấm [. ] nhà điều hành
Làm cách nào để thêm các chữ số của một số trong Python bằng vòng lặp for?
Làm cách nào để thêm số trong vòng lặp for? .Tạo biến sum kiểu dữ liệu số nguyênKhởi tạo tổng bằng 0Bắt đầu lặp lại Danh sách bằng vòng lặp forTrong quá trình lặp, thêm từng phần tử với biến tổngSau khi thực hiện vòng lặp, in tổngVí dụ số có 2 chữ số là gì?
Số có 2 chữ số là số có hai chữ số bắt đầu từ chữ số 10 và kết thúc bằng chữ số 99. Họ không thể bắt đầu từ số 0 vì trong trường hợp đó, nó sẽ được coi là số có một chữ số. Chữ số hàng chục có thể là một số bất kỳ từ 1 đến 9. Ví dụ: 45, 78, 12 là các số có hai chữ số.