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

Python - Kiểm tra xem tần số của tất cả các ký tự của một chuỗi có khác nhau không

Trong bài này, chúng ta sẽ xem cách tìm tần số của mỗi ký tự trong một chuỗi nhất định. Sau đó, xem liệu hai hoặc nhiều ký tự có cùng tần số trong chuỗi đã cho hay không. Chúng tôi sẽ thực hiện điều này trong hai bước. Trong chương trình đầu tiên, chúng ta sẽ chỉ tìm tần số xuất hiện của từng ký tự.

Tần suất của mỗi ký tự

Ở đây chúng tôi tìm thấy tần số của mỗi ký tự trong màn hình nhập nhất định. Chúng tôi khai báo một từ điển trống và sau đó thêm mỗi ký tự dưới dạng một chuỗi. Chúng tôi cũng gán các khóa cho từng ký tự để tạo cặp khóa-giá trị mà từ điển cần.

Ví dụ

in_string = "She sells sea shells"
dic1 = {}
for k in in_string:
   if k in dic1.keys():
      dic1[k]+=1
   else:
      dic1[k]=1
print(dic1)
for k in dic1.keys():
   print(k, " repeats ",dic1[k]," time's")

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

{'S': 1, 'h': 2, 'e': 4, ' ': 3, 's': 5, 'l': 4, 'a': 1}
S repeats 1 time's
h repeats 2 time's
e repeats 4 time's
  repeats 3 time's
s repeats 5 time's
l repeats 4 time's
a repeats 1 time's

Tần suất duy nhất của mỗi ký tự

Tiếp theo, chúng tôi mở rộng chương trình trên để tìm ra tần suất cho mỗi ký tự duy nhất. Nếu giá trị duy nhất của tần suất lớn hơn một, thì chúng tôi kết luận rằng không phải tất cả các ký tự đều có cùng tần suất.

Ví dụ

in_string = "She sells sea shells"
dic1 = {}
for k in in_string:
   if k in dic1.keys():
      dic1[k]+=1
   else:
      dic1[k]=1
print(dic1)
u_value = set( val for udic in dic1 for val in (dic1.values()))
print("Number of Unique frequencies: ",len(u_value))
if len(u_value) == 1:
   print("All character have same frequiency")
else:
   print("The characters have different frequencies.")

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

{'S': 1, 'h': 2, 'e': 4, ' ': 3, 's': 5, 'l': 4, 'a': 1}
Number of Unique frequencies: 5
The characters have different frequencies.