Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python - ตรวจสอบว่าความถี่ของอักขระทั้งหมดของสตริงแตกต่างกันหรือไม่


ในบทความนี้เราจะมาดูวิธีค้นหาความถี่ของอักขระแต่ละตัวในสตริงที่กำหนด จากนั้นดูว่าอักขระสองตัวขึ้นไปมีความถี่เท่ากันในสตริงที่กำหนดหรือไม่ เราจะทำสิ่งนี้ให้สำเร็จในสองขั้นตอน ในโปรแกรมแรกเราจะหาแค่ความถี่ของตัวละครแต่ละตัวเท่านั้น

ความถี่ของอักขระแต่ละตัว

ที่นี่เราพบความถี่ของอักขระแต่ละตัวในหน้าจออินพุตที่กำหนด เราประกาศพจนานุกรมเปล่าแล้วเพิ่มอักขระแต่ละตัวเป็นสตริง นอกจากนี้เรายังกำหนดคีย์ให้กับอักขระแต่ละตัวเพื่อสร้างคู่คีย์-ค่าที่พจนานุกรมต้องการ

ตัวอย่าง

in_string ="เธอขายเปลือกหอย" dic1 ={}สำหรับ k ใน in_string:ถ้า k ใน dic1.keys():dic1[k]+=1 อื่น:dic1[k]=1print(dic1) สำหรับ k dic1.keys():print(k, " ซ้ำ ",dic1[k]," time's")

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

{'S':1, 'h':2, 'e':4, ' ':3, 's':5, 'l':4, 'a':1}S ซ้ำ 1 ครั้ง' ทำซ้ำ 2 ครั้ง ทำซ้ำ 4 ครั้ง ทำซ้ำ 3 ครั้ง ทำซ้ำ 5 ครั้ง ทำซ้ำ 4 ครั้ง ทำซ้ำ 1 ครั้ง 

ความถี่เฉพาะของอักขระแต่ละตัว

ต่อไปเราจะขยายโปรแกรมด้านบนเพื่อค้นหาความถี่ของอักขระที่ไม่ซ้ำกันแต่ละตัว หากค่าความถี่ไม่ซ้ำกันมากกว่าหนึ่ง เราก็สรุปได้ว่าอักขระบางตัวมีความถี่ไม่เหมือนกัน

ตัวอย่าง

in_string ="เธอขายเปลือกหอย" dic1 ={}สำหรับ k ใน in_string:ถ้า k ใน dic1.keys():dic1[k]+=1 อื่น:dic1[k]=1print(dic1)u_value =set ( val สำหรับ udic ใน dic1 สำหรับ val ใน (dic1.values()))print("จำนวนความถี่ที่ไม่ซ้ำ:",len(u_value))if len(u_value) ==1:print("อักขระทั้งหมดมีความถี่เท่ากัน" )else:print("อักขระมีความถี่ต่างกัน")

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

{'S':1, 'h':2, 'e':4, ' ':3, 's':5, 'l':4, 'a':1}จำนวนความถี่ที่ไม่ซ้ำ:5อักขระมีความถี่ต่างกัน