Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình Python để Xóa và in mỗi phần ba từ danh sách cho đến khi nó trở nên trống?

Đầu tiên, chúng tôi tạo một danh sách, chỉ mục của địa chỉ bắt đầu là 0 và vị trí của phần tử thứ ba đầu tiên là 2 và cần phải duyệt qua cho đến khi danh sách trở nên trống và một công việc quan trọng khác phải làm mỗi khi chúng tôi phải tìm chỉ mục của phần tử tiếp theo. phần tử thứ ba và in giá trị và sau đó giảm độ dài của danh sách.

Ví dụ

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

Giải thích

Phần tử thứ ba đầu tiên là 30, sau đó chúng tôi đếm từ 40 cho phần tử thứ ba tiếp theo là 20, sau đó bắt đầu lại từ 40 cho chính phần tử thứ ba tiếp theo là 40 và cuối cùng là 10 được in.

Thuật toán

Bước 1:Chỉ mục của danh sách bắt đầu từ 0 và phần tử thứ ba đầu tiên sẽ ở vị trí 2.

variable p=2,starting index id=0.

Bước 2:Tìm độ dài của danh sách.

listlen=len (LST)	// length of the list(LST)

Bước 3:Đảo ngược cho đến khi danh sách trở nên trống và mỗi lần tìm chỉ mục của phần tử thứ ba tiếp theo.

While(listlen>0)
   Id=(p+id)%listlen
   A=LST.pop(id)// removes and prints the required element
      Listlen-=1
End while

Mã mẫu

# To remove to every third element until list becomes empty
def removenumber(no):
   # list starts with
   # 0 index
   p = 3 - 1
   id = 0
   lenoflist = (len(no))

   # breaks out once the
   # list becomes empty
   while lenoflist > 0: 
      id = (p + id) % lenoflist

      # removes and prints the required
      # element
      print(no.pop(id)) 
      lenoflist -= 1

# Driver code
A=list()        
n=int(input("Enter the size of the array ::"))
print("Enter the INTEGER number")
for i in range(int(n)):
   p=int(input("n="))
   A.append(int(p))
print("After remove third element, The List is")
removenumber(A)         # call function

Đầu ra

Enter the size of the array ::9
Enter the number
n=10
n=20
n=30
n=40
n=50
n=60
n=70
n=80
n=90
After remove third element, The List is
30
60
90
40
80
50
20
70
10