Sản phẩm của các chữ số của một số trong Python

Trong quá trình nhập liệu từ bàn phím, chúng tôi xử lý các loại lỗi nếu người dùng bấm phím không phải phím số. Chúng tôi lặp lại bước lấy đầu vào trừ khi người dùng chỉ nhập số

bước

Để nhận một số từ bàn phím và tìm tích các chữ số chẵn của các chữ số chẵn, chúng ta có thể thực hiện theo các bước sau

  1. Lấy số làm đầu vào sử dụng từ bàn phím. Đối với điều này, hãy sử dụng phương thức input[]
  2. Xác định một hàm chấp nhận số và trả về sản phẩm của các chữ số chẵn
  3. Tính tích của các chữ số chẵn bằng hàm thách thức ở trên
  4. In sản phẩm đã tính toán

Trong các bước trên, bước thứ hai cần được xây dựng chi tiết hơn vì đây là phần chính của câu hỏi. Hãy thảo luận về cách tiếp cận và thuật toán liên quan đến bước này

Phương pháp tìm tích các chữ số chẵn

Đầu tiên ta tìm từng chữ số trong số và kiểm tra từng chữ số một xem đó có phải là số chẵn không. Để tìm sản phẩm, chúng tôi nhân tất cả các chữ số chẵn. Để tìm các chữ số riêng lẻ của các số, chúng tôi sử dụng toán tử modulo [%]. Các chữ số riêng lẻ được tính là phần còn lại khi số được chia cho 10 bằng toán tử modulo.  

thuật toán

1. Tìm các chữ số riêng lẻ

2. Kiểm tra xem chữ số có chẵn không

3. Nhân tất cả các chữ số chẵn

Chương trình 1 [Dễ dàng]

Trong chương trình dưới đây, đầu tiên chúng ta nhận số do người dùng nhập vào và tìm tích của các chữ số chẵn trên số đó. Trong chương trình này, đầu tiên chúng ta đọc đầu vào bằng phương thức input[] . Nó trả về một chuỗi để chúng tôi chuyển đổi nó thành số nguyên. Để xử lý các số âm, chúng ta sử dụng phương thức abs[] .

 

#Step 1 : Accept Number from user

num = abs[int[input["Please Enter an Integer: "]]]


#Step 2: Define a function to compute the product of even digits

def product[num]:

    prod = 1

    even = 0

    while num > 0:

        dig = num % 10

        if dig % 2 == 0

            prod = prod*dig 

            even = even + 1

        num = num//10

    return prod


#Step 3: find product of digits

prod_dig = product[num]

          

#Step 4: print the product        

if num==0:

    print["Product of even digits:"0]

elif even> 0:

    print["Product of even digits:", prod_dig]

else:

    print["No Even Digits in the Entered Number"]

đầu ra

Please Enter an Integer: 124356

Product of even digits: 48


Please Enter an Integer: -3487

Product of even digits: 32


Please Enter an Integer: 4350231

Product of even digits: 0


Please Enter an Integer: 0

Product of even digits: 0


Chương trình trên cho kết quả đúng cho số dương, số âm và số 0.

Lưu ý khi bất kỳ chữ số nào trong số bằng 0 thì tích bằng 0 vì chúng ta biết 0 là số chẵn.  

Bạn có thể tưởng tượng bất kỳ nhược điểm của chương trình trên?

Hãy nghĩ điều gì sẽ xảy ra nếu người dùng nhấn bất kỳ phím không phải số nào. Chương trình trên có hoạt động không?

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


Dung dịch mẫu-2

Mã Python

#License: //bit.ly/3oLErEI

def test[nums]:
    prod = 1
    for n in nums:
        prod *= abs[n % 10]
    return prod
 
nums = [12, 23]
print["Original list of numbers:"]
print[nums]
print["Product of the units digits in the numbers of the said:"]
print[test[nums]]
nums = [12, 23, 43]
print["\nOriginal list of numbers:"]
print[nums]
print["Product of the units digits in the numbers of the said:"]
print[test[nums]]
nums = [113, 234]
print["\nOriginal list of numbers:"]
print[nums]
print["Product of the units digits in the numbers of the said:"]
print[test[nums]]
nums = [1002, 2005]
print["\nOriginal list of numbers:"]
print[nums]
print["Product of the units digits in the numbers of the said:"]
print[test[nums]]

Đầu ra mẫu

Original list of numbers:
[12, 23]
Product of the units digits in the numbers of the said:
6

Original list of numbers:
[12, 23, 43]
Product of the units digits in the numbers of the said:
18

Original list of numbers:
[113, 234]
Product of the units digits in the numbers of the said:
12

Original list of numbers:
[1002, 2005]
Product of the units digits in the numbers of the said:
10

Sơ đồ


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


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. Đảo ngược trường hợp của tất cả các chuỗi. Đối với những chuỗi không chứa chữ cái, hãy đảo ngược chuỗi
Kế tiếp. Xóa các số trùng lặp khỏi danh sách các số nguyên, giữ nguyên thứ tự

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

Báo cáo năng suất

Bạn có thể nghĩ về câu lệnh lợi nhuận trong cùng danh mục với câu lệnh trả về. Sự khác biệt là, trong khi câu lệnh return trả về một giá trị và hàm kết thúc, thì câu lệnh năng suất có thể trả về một chuỗi các giá trị, nó sắp xếp kết quả, do đó có tên

Nếu bạn quan tâm đến các thuật toán, đây là một minh họa hay về Trực quan hóa thuật toán sắp xếp bong bóng nơi bạn có thể thấy mức độ cần thiết và sử dụng năng suất

Tích các chữ số của một số là gì?

Cho một số nguyên bất kỳ lấy tổng các chữ số và tích các chữ số rồi nhân các số này với nhau để được một số nguyên mới; for example, starting with 6712, the sum of the digits is 6+7+1+2=16, and the product of the digits is 6\times 7\times 1\times 2=84.

Tích chữ số được tính như thế nào?

chia một số nguyên đã cho thành các chữ số của nó và nhân chúng với nhau để được một số nguyên mới . Ví dụ: giá trị 234 được chia thành các chữ số 2, 3 và 4 và tích bằng 2×3×4 = 24.

Chủ Đề