เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การค้นหา substring

วันใหม่ของการทำงาน และต้องทำความสะอาดชุดข้อมูลสำหรับโปรเจกต์ทำนายภาพยนตร์ต่อ ระหว่างสำรวจชุดข้อมูล พบรูปแบบที่ผิดปกติ: มีคำที่ซ้ำกันติดต่อกันปรากฏอยู่ระหว่างตัวอักษรที่ตำแหน่ง 37 ถึงตำแหน่ง 41 จึงตัดสินใจเขียนฟังก์ชันเพื่อตรวจหาว่ารีวิวภาพยนตร์เรื่องใดมีลักษณะดังกล่าว โดยจำไว้ว่าตำแหน่งปลายที่ระบุจะไม่ถูกนับรวม และถ้าตรวจพบคำนั้น ก็ต้องการแทนที่ด้วยคำเดียว

เติมคำสั่ง if-else ให้ครบตามคำแนะนำ

ข้อความรีวิวภาพยนตร์ทั้ง 3 เรื่องถูกบันทึกไว้ในตัวแปร movies แล้ว สามารถใช้ print(movies) เพื่อดูข้อมูลใน IPython Shell ได้

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Regular Expressions ใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ตรวจสอบว่า substring actor ปรากฏระหว่างตัวอักษรที่ index 37 ถึง 41 (รวมทั้งสองปลาย) หรือไม่ ถ้าไม่พบให้พิมพ์ข้อความ Word not found
  • แทนที่ actor actor ด้วย substring actor ถ้า actor ปรากฏซ้ำกันสองครั้งติดต่อกัน
  • แทนที่ actor actor actor ด้วย substring actor ถ้า actor ปรากฏซ้ำกันสามครั้งติดต่อกัน

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

for movie in movies:
  	# If actor is not found between character 37 and 41 inclusive
    # Print word not found
    if movie.find("____", ____, ____) == ____:
        print("Word not found")
    # Count occurrences and replace two with one
    elif movie.____("____") == 2:  
        print(movie.replace("____", "____"))
    else:
        # Replace three occurrences with one
        print(movie.replace("____", "____"))
แก้ไขและรันโค้ด