https://pastein.ru/t/cu

  скопируйте уникальную ссылку для отправки


from random import random
N = 30
a = []
for i in range(N):
    a.append(int(random()*100))
def s(a):
    for i in range(len(a)-1):
        if a[i]>a[i+1]:
            r=a[i+1]
            a[i+1]=a[i]
            a[i]=r
for i in range (N):
    s(a)
print(a)
value = int(input())
mid = len(a) // 2
low = 0
high = len(a) - 1
o=[]
save=[]
for i in range(len(a)):
    if a[i]==value:
        beta=i
        o+=[str(beta)]
for i in range(len(o)):
    while a[mid] != value and low <= high:
        if value > a[mid]:
            low = mid + 1
        else:
            high = mid - 1
        mid = (low + high) // 2
 
    if low > high:
        print("No value")
    else:
        save+=[str(mid)]
    if mid>low:
        mid=mid+1
    else:
        mid=mid-1
for i in range(len(save)-1):
    if save[i]>save[i+1]:
        r=save[i+1]
        save[i+1]=save[i]
        save[i]=r
mid=str()
for i in range (len(save)):
    mid+=save[i]+" "
if save==[]:
    print ("No")
else:
    print("ID:"+ mid)