Viết chương trình tính tổng ba chữ số đầu tiên của một số đã cho bằng python

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 FacebookTwitter để 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

  1. 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
  2. Loại bỏ c trong abc bằng cách chia chính xác cho 10
  3. 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
  4. Loại bỏ số b trong ab bằng cách chia chính xác cho 10
  5. Số a là có một chữ số. Đây là một chữ số khác của số ban đầu
  6. Cộng số còn lại a với các giá trị ​​ của các biến d1và 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

Chủ Đề