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

โปรแกรม Python ลบและพิมพ์ทุกตัวที่ 3 ในลิสต์จนว่าจะว่าง

สร้างลิสต์ ดัชนีเริ่มต้น 0 ตำแหน่งตัวที่ 3 แรกคือ 2 ต้องวนจนลิสต์ว่าง และทุกครั้งต้องหาดัชนีของตัวที่ 3 ถัดไป พิมพ์ค่าและลดความยาวลิสต์

ตัวอย่าง

A:[10,20,30,40]
OUTPUT: 30 20 40 10

คำอธิบาย

ตัวที่ 3 แรกคือ 30 แล้วนับจาก 40 หาตัวที่ 3 ถัดไปคือ 20 แล้วเริ่มจาก 40 อีกครั้ง ตัวที่ 3 คือ 40 เอง และสุดท้ายพิมพ์ 10

อัลกอริทึม

ขั้นตอนที่ 1: ดัชนีลิสต์เริ่มจาก 0 ตัวที่ 3 อยู่ตำแหน่ง 2

ตัวแปร p=2, ดัชนีเริ่มต้น id=0

ขั้นตอนที่ 2: หาความยาวลิสต์

listlen = len(LST)

ขั้นตอนที่ 3: วนจนลิสต์ว่าง ทุกครั้งหาดัชนีตัวที่ 3 ถัดไป

While(listlen > 0)
    Id = (p + id) % listlen
    A = LST.pop(id)  // ลบและพิมพ์สมาชิกที่ต้องการ
    Listlen -= 1
End while

โค้ดตัวอย่าง

# ลบทุกตัวที่ 3 จนลิสต์ว่าง
def removenumber(no):
    # ลิสต์เริ่มดัชนี 0
    p = 3 - 1
    id = 0
    lenoflist = len(no)
    # หยุดเมื่อลิสต์ว่าง
    while lenoflist > 0:
        id = (p + id) % lenoflist
        # ลบและพิมพ์สมาชิกที่ต้องการ
        print(no.pop(id))
        lenoflist -= 1

# โค้ดหลัก
A = list()
n = int(input("ป้อนขนาดของอาร์เรย์ ::"))
print("ป้อนตัวเลขจำนวนเต็ม")
for i in range(int(n)):
    p = int(input("n="))
    A.append(int(p))
print("หลังลบตัวที่ 3 ทีละตัว ลิสต์คือ")
removenumber(A)

ผลลัพธ์

ป้อนขนาดของอาร์เรย์ ::9
ป้อนตัวเลข n=10 n=20 n=30 n=40 n=50 n=60 n=70 n=80 n=90
หลังลบตัวที่ 3 ทีละตัว ลิสต์คือ
30 60 90 40 80 50 20 70 10