Computer >> Máy Tính >  >> Lập trình >> Python

Kiểm tra xem tần suất của tất cả các chữ số trong một số có giống nhau trong Python hay không

Giả sử chúng ta có một số num, chúng ta phải kiểm tra xem có cân bằng hay không. Một số được cân bằng khi tần số của tất cả các chữ số đều giống nhau hoặc không.

Vì vậy, nếu đầu vào là num =562256, thì đầu ra sẽ là Đúng vì tần số của mỗi chữ số là 2.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • number:=chuyển đổi num thành chuỗi
  • freq:=một bản đồ chứa các tần số của các chữ số
  • freq_values:=tạo một bộ mới bằng cách lấy tất cả các giá trị tần số chữ số từ số
  • nếu kích thước của freq_values ​​bằng 1, thì
    • trả về True
  • trả về Sai

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Mã mẫu

from collections import defaultdict

def solve(num):
   number = str(num)
 
   freq = defaultdict(int)
   n = len(number)
 
   for i in range(n):
      freq[int(number[i])] += 1
 
   freq_values = set(freq.values())
 
   if len(freq_values) == 1:
      return True
   return False
   
num = 562256
print(solve(num))

Đầu vào

562256

Đầu ra

True