Viết chương trình Python để tính tổng của ba số đã cho. Nếu các giá trị bằng nhau, hãy trả về ba lần tổng của chúng
Trình bày bằng hình ảnh
Giải pháp mẫu. -
Mã Python
def sum_thrice[x, y, z]:
sum = x + y + z
if x == y == z:
sum = sum * 3
return sum
print[sum_thrice[1, 2, 3]]
print[sum_thrice[3, 3, 3]]
Đầu ra mẫu
6 27
Giải trình
Tập lệnh đã nói định nghĩa một hàm gọi là sum_thrice[x, y, z] lấy ba số nguyên làm đối số và trả về tổng của chúng. Tuy nhiên, hàm nhân tổng với 3 nếu cả ba số nguyên bằng nhau
Bây giờ tập lệnh gọi hàm hai lần với các giá trị đầu vào [1,2,3] và [3,3,3]
Bất cứ khi nào 1, 2 và 3 là giá trị đầu vào, ba đầu vào không bằng nhau, vì vậy nó trả về 6
Bất cứ khi nào 3, 3 và 3 là các giá trị đầu vào, ba đầu vào bằng nhau nên hàm nhân tổng với 3 và trả về 27
Tùy thuộc vào đầu vào, câu lệnh if chỉ đúng nếu x == y == z, nếu không thì nó đúng
Sơ đồ
Trình chỉnh sửa mã Python
Có một cách khác để giải quyết giải pháp này?
Trước. Viết chương trình Python để kiểm tra xem một số nằm trong phạm vi 100 của 1000 hay 2000
Kế tiếp. Viết chương trình Python để lấy một chuỗi mới từ một chuỗi đã cho trong đó "Is" đã được thêm vào phía trước. Nếu chuỗi đã cho đã bắt đầu bằng "Is" thì trả về chuỗi không thay đổi
Mức độ khó của bài tập này là gì?
Dễ dàng trung bình khóKiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource
Theo dõi chúng tôi trên Facebook và Twitter để cập nhật thông tin mới nhất.
con trăn. Lời khuyên trong ngày
Kết quả bộ nhớ cache với trang trí
Có một cách tuyệt vời để cache các hàm với decorator trong Python. Bộ nhớ đệm sẽ giúp tiết kiệm thời gian và tài nguyên quý giá khi có sẵn một chức năng đắt tiền
Việc triển khai rất dễ dàng, chỉ cần nhập lru_cache từ thư viện funcools và trang trí chức năng của bạn bằng cách sử dụng @lru_cache
Người dùng nhập một số có ba chữ số. Chương trình phải thêm các chữ số tạo nên số này. Ví dụ: nếu nhập 349, chương trình sẽ hiển thị số 16, vì 3 + 4 + 9 = 16
Làm cách nào để trích xuất các chữ số riêng lẻ từ một số?
 Nếu một số chia hết cho 10 thì dư sẽ là chữ số tận cùng của số đó.  Ví dụ: nếu 349 chia hết cho 10 thì bạn được thương là 34 và dư 9. Nếu sau đó bạn cũng chia 34, bạn nhận được thương 3 và dư 4; hơn nữa, khi chia 3 cho 10, chúng tôi nhận được thương 0 và dư 3
Trong các ngôn ngữ lập trình, hầu như luôn có hai thao tác như vậy
1] tìm tổng khi chia hết,
2] tìm phần còn lại khi chia toàn bộ
Trong Python v. 3, thao tác đầu tiên được biểu thị bằng // [hai dấu chia] và thao tác thứ hai bằng % [dấu phần trăm]. Ví dụ
>>> 34 // 10
3
>>> 34% 10
four
Ghi chú. Về mặt số học, các phép toán chia lấy dư chỉ áp dụng cho số nguyên. Nhưng trong Python, chúng cũng có thể được sử dụng với các số phân số
>>> 34.5% 10
4.5
>>> 34.5 // 10
3.0
>>> 34.5 // 12.9
2.0
Thuật toán tìm tổng các chữ số của số có ba chữ số abc [trong đó a là hàng trăm, b là hàng chục và c là hàng đơn vị] có thể được mô tả như sau
- Tìm phần còn lại của phép chia abc cho 10, viết nó vào một biến
d1
. Đây sẽ là số c - Loại bỏ c trong abc bằng cách chia chính xác cho 10
- Tìm phần còn lại của phép chia ab cho 10, viết nó vào một biến
d2
. Đây sẽ là số b - Loại bỏ số b trong ab bằng cách chia chính xác cho 10
- Số a là có một chữ số. Đây là một chữ số khác của số ban đầu
- Cộng số còn lại a với các giá trị ​​ của các biến
d1
vàd2
n = input ["Enter a three-digit number:"]
n = int [n]
d1 = n% 10
n = n // 10
d2 = n% 10
n = n // 10
print ["Sum of digits of a number:", n + d2 + d3]
Tuy nhiên, nếu chúng ta biết rằng một số bao gồm ba chữ số [chữ số], thì có một cách khác để trích xuất các chữ số từ một số
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