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

Python - Dải liên tiếp của K lớn hơn N

Khi yêu cầu nhận các dải liên tiếp của ‘K’ lớn hơn ‘N’, thuộc tính "enumerate" và phép lặp đơn giản sẽ được sử dụng.

Ví dụ

Dưới đây là một minh chứng về điều tương tự

my_list = [3, 65, 33, 23, 65, 65, 65, 65, 65, 65, 65, 3, 65]
print("The list is :")
print(my_list)
K = 65
N = 3
print("The value of K is ")
print(K)
print("The value of N is ")
print(N)
my_result = []
beg, end = 0, 0
previous = 1
for index, element in enumerate(my_list):
   if element == K:
      end = index

      if previous != K:
         beg = index
   else:

      if previous == K and end - beg + 1 >= N:
         my_result.append((beg, end))
   previous = element

print("The result is :")
print(my_result)

Đầu ra

The list is :
[3, 65, 33, 23, 65, 65, 65, 65, 65, 65, 65, 3, 65]
The value of K is
65
The value of N is
3
The result is :
[(4, 10)]

Giải thích

  • Một danh sách được xác định và hiển thị trên bảng điều khiển.

  • Các giá trị cho ‘K’ và ‘N’ được xác định và hiển thị trên bảng điều khiển.

  • Một danh sách trống được xác định.

  • Giá trị cho 'trước đó' được xác định.

  • Các giá trị cho "đầu" và "kết thúc" được xác định.

  • Danh sách được lặp lại bằng cách liệt kê nó.

  • Nếu bất kỳ phần tử nào trong danh sách tương đương với một giá trị khác ‘k’, giá trị chỉ mục sẽ được xác định lại.

  • Nếu không, các giá trị của 'trước đó' được xác định lại.

  • Giá trị đầu và giá trị kết thúc được thêm vào danh sách trống.

  • Điều này được trả về dưới dạng đầu ra.

  • Đầu ra được hiển thị trên bảng điều khiển.