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

โปรแกรม Python พิมพ์คำที่เป็นไปได้โดยใช้อักขระที่กำหนด


ในบทช่วยสอนนี้ เราจะค้นหาคำศัพท์ที่เป็นไปได้ทั้งหมดด้วยอักขระที่กำหนด มาดูกรณีทดสอบเพื่อความเข้าใจกันดีกว่า

Input:words =["hi", "hello", "bye", "good"]characters =["h", "i", "b", "y", "e"]Output:hibye 

มาทำตามขั้นตอนด้านล่างเพื่อให้บรรลุเป้าหมายของเรา

อัลกอริทึม

<ก่อน>1. เริ่มต้นรายการคำและอักขระ2. เขียนฟังก์ชันที่ส่งคืนพจนานุกรมที่มีการนับอักขระแต่ละตัวของคำ 2.1. เริ่มต้นพจนานุกรมเปล่า 2.2. วนซ้ำคำนั้นและเพิ่มจำนวนตัวอักษรทีละตัวถ้ามีอยู่แล้ว อย่างอื่นให้เริ่มต้นด้วยตัวหนึ่ง 2.3. หลังจากวนกลับ dictionary.3. ทำซ้ำผ่านรายการคำศัพท์ 3.1. เริ่มต้นแฟล็กตัวแปรด้วย 1. 3.2 ค้นหาจำนวนอักขระโดยใช้ฟังก์ชันด้านบนและจัดเก็บไว้ในตัวแปร 3.3. ทำซ้ำผ่านพจนานุกรมที่ส่งคืนด้านบน 3.3.1. ตรวจสอบว่าคีย์อยู่ในตัวอักษรหรือไม่ 3.3.1.1. หากไม่มีอยู่ ให้ตั้งค่าสถานะเป็นศูนย์ 3.3.2 ตรวจสอบการนับความเท่าเทียมกันของตัวอักษรในตัวอักษรและพจนานุกรม 3.3.2.1. หากไม่เท่ากัน ให้ตั้งค่าสถานะเป็นศูนย์.3.4 ถ้าธงเท่ากับหนึ่ง 3.4.1. พิมพ์คำ

มาปรับใช้อัลกอริธึมข้างต้นกันเถอะ

ตัวอย่าง

## การเริ่มต้น listwords =["hi", "hello", "bye", "good"]characters =["h", "i", "b", "y", "e"]# # ฟังก์ชั่นที่ส่งคืนพจนานุกรมที่มี char countsdef char_count (word):## การเริ่มต้นพจนานุกรมว่าง char_count ={} ## วนซ้ำเพื่อค้นหาความถี่ของตัวอักษรสำหรับ char ใน word:## เพิ่มจำนวนถ่านทีละหนึ่ง char_count[char] =char_count.get(char, 0) + 1 ## การส่งคืนพจนานุกรมส่งคืน char_count## การวนซ้ำผ่านรายการคำสำหรับคำในคำ:## การเริ่มต้นตั้งค่าสถานะเป็นหนึ่งแฟล็ก =1 ## รับการนับถ่านโดยใช้ char_count() ฟังก์ชัน chars =char_count(word) ## วนซ้ำผ่านตัวอักษรสำหรับคีย์ใน chars:## ตรวจสอบการมีอยู่ของคีย์ในอักขระหากคีย์ไม่อยู่ในอักขระ:## อัปเดตค่าแฟล็กเป็นศูนย์แฟล็ก =0 อื่น:## เปรียบเทียบการนับ ของ chars ใน chars และ character หาก characters.count(key) !=chars[key]:## อัปเดตค่าแฟล็กเป็นศูนย์ flag =0 ## ตรวจสอบค่าแฟล็ก if flag ==1:print(word)

ผลลัพธ์

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

ฮิบาย

บทสรุป

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