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

พิมพ์แอนนาแกรมพร้อมกันใน Python โดยใช้รายการและพจนานุกรม


ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมที่ค้นหาและพิมพ์แอนนาแกรมโดยใช้ รายการ และ พจนานุกรม . เรามีแนวทางที่แตกต่างกันออกไปในทุกปัญหา พยายามเขียนโค้ดโดยไม่ทำตามบทช่วยสอน หากคุณไม่สามารถสร้างแนวคิดใดๆ ในการเขียนตรรกะได้ ให้ทำตามขั้นตอนด้านล่าง

อัลกอริทึม

<ก่อน>1. เริ่มต้นรายการสตริง2. เริ่มต้นพจนานุกรมเปล่า.3. วนซ้ำผ่านรายการสตริง 3.1. จัดเรียงสตริงและตรวจสอบว่ามีอยู่ในพจนานุกรมเป็นคีย์หรือไม่ 3.1.1. หากสตริงที่จัดเรียงมีพจนานุกรมเป็นคีย์อยู่แล้ว ให้ผนวกสตริงเดิมเข้ากับคีย์ 3.2 อื่น ๆ แมปรายการว่างที่มีสตริงที่เรียงลำดับเป็นคีย์และผนวกต้นฉบับกับมัน4. เริ่มต้น string.5 ว่าง ทำซ้ำผ่านรายการพจนานุกรม 5.1. เชื่อมค่าทั้งหมดเข้ากับ string.6 ว่าง พิมพ์สตริง

มาเขียนโค้ดสำหรับอัลกอริทึมด้านบนกัน

ตัวอย่าง

## การเริ่มต้นรายการ stringsstrings =["apple", "orange", "grapes", "pear", "peach"]## การเริ่มต้นพจนานุกรมเปล่า ={}## วนซ้ำผ่านรายการสตริงสำหรับสตริง ในสตริง:## การเรียงลำดับคีย์สตริง ="".join(sorted(สตริง)) ## ตรวจสอบว่าคีย์มีอยู่ใน dict หรือไม่ว่าสตริงใน anagrams.keys():## ต่อท้ายสตริงเดิมกับคีย์ anagrams[key].append(string) else:## การแมปรายการว่างไปยังคีย์ anagrams[key] =[] ## การต่อท้ายสตริงไปยังคีย์ anagrams[key].append(string)## การทำให้สตริงว่างเป็นผลลัพธ์ =""## วนซ้ำผ่านดิกชันนารีสำหรับคีย์ ค่าใน anagrams.items():## ต่อท้ายค่าทั้งหมดลงในผลลัพธ์ผลลัพธ์ +="".join(value) + " "## กำลังพิมพ์ผลลัพธ์ (ผลลัพธ์)

ผลลัพธ์

หากคุณเรียกใช้โปรแกรมข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้

แอปเปิ้ล ส้ม องุ่น ลูกแพร์ พีช

บทสรุป

หากคุณมีข้อสงสัยเกี่ยวกับบทช่วยสอน โปรดระบุในส่วนความคิดเห็น