2
รายการเหล่านี้เท่ากันหรือไม่
อย่างที่คุณทราบกันดีว่าหลามมีรายการอยู่ ในขณะที่คุณอาจไม่ทราบว่ารายการเหล่านี้สามารถมีตัวเอง a = [] a.append(a) Python 2 Python 3 สิ่งเหล่านี้เจ๋งและมีสิ่งที่น่าสนใจมากมายที่คุณสามารถทำได้กับพวกเขาอย่างไรก็ตามคุณไม่สามารถเปรียบเทียบได้ a = [] a.append(a) b = [] b.append(b) a == b Python 2 Python 3 งาน งานของคุณคือการเขียนฟังก์ชั่นใน Python (หรือภาษาใด ๆ ที่สามารถจัดการกับวัตถุหลามโดยตรง) ที่จะมีสองรายการที่อาจมีตัวเองและเปรียบเทียบพวกเขา สองรายการมีค่าเท่ากันหากมีความยาวเท่ากันและไม่มีลำดับของตัวเลขเช่นนั้นซึ่งการทำดัชนีทั้งสองรายการตามลำดับนั้นจะส่งผลให้วัตถุสองรายการที่ไม่เท่ากันภายใต้คำจำกัดความที่เท่ากันนี้ วัตถุที่ไม่ใช่รายการทั้งหมดที่มีอยู่ในรายการจะเป็นจำนวนเต็มหลามเพื่อความง่ายและควรนำมาเปรียบเทียบกับความเสมอภาคของ python สำหรับจำนวนเต็ม โปรแกรมของคุณไม่ควรใช้ความลึกในการเรียกซ้ำของไพ ธ อนเพื่อตรวจสอบว่ารายการนั้นมีความลึกไม่สิ้นสุด นั่นคือ: def isInfinite(a,b): try: a==b return False except RunTimeError: return …