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

Python – ทดสอบการสร้างคำจากลิสต์ตัวอักษร

เมื่อต้องการทดสอบว่าสามารถสร้างคำ (word) จากลิสต์ตัวอักษรที่มีอยู่ได้หรือไม่ (พิจารณาจำนวนตัวอักษร) สามารถใช้ all() และ count() ได้

ตัวอย่าง

my_list = ['p', 'p', 'y', 't', 'h', 'p', 'p', 'y', 'n', 'y', 'y', 't']
print("The list is :")
print(my_list)
key = 'pyt'
print("The key is :")
print(key)
my_result = all(key.count(chr) <= my_list.count(chr) for chr in key)
print("The result is :")
if my_result == True:
    print("Word can be constructed. ")
else:
    print("Word can't be constructed. ")

ผลลัพธ์

The list is : ['p', 'p', 'y', 't', 'h', 'p', 'p', 'y', 'n', 'y', 'y', 't']
The result is : Word can be constructed.

คำอธิบาย

  • กำหนดลิสต์ตัวอักษรที่มีอยู่ (พร้อมตัวซ้ำ) และคำที่ต้องการสร้าง (key)

  • ใช้ all(key.count(chr) <= my_list.count(chr) for chr in key)

  • สำหรับแต่ละตัวอักษรใน key ตรวจสอบว่าจำนวนใน key ≤ จำนวนใน my_list

  • p: key=1, list=4 ✓, y: key=1, list=3 ✓, t: key=1, list=2 ✓ -> ทั้งหมดผ่าน

  • แสดงข้อความว่าสร้างคำได้