решить задачу python для школы, желательно с объяснением 1. Заполните массив случайными числами в интервале [0,1000] и найдите количество элементов, старшая цифра которых равна 8.
2. Заполните массив случайными числами в интервале [0,1000] и выведите номера трёх различных минимальных элементов. Разрешается сделать только один проход по массиву.
Python
from random import randint
def getH(s):
while s>10:
s=s//10
return s
n=int(input('Введите размер массива: '))
a=[0]*n
b=0
for i in range(0, n-1):
a[i]=randint(0, 1000)
if getH(a[i])==8:
b+=1
print(a)
print('Элементов начинающихся с 8 =',b)
# задание 2
a=sorted(a)
i=1
b=1
print('3 минимальных элемента')
print(a[0])
while b<3 and b<n:
if a[i]!=a[i-1]:
print(a[i])
b+=1
i+=1
>>Введите размер массива: 45
[464, 937, 662, 266, 915, 535, 690, 663, 441, 791, 979, 831, 853, 92, 411, 429, 845, 949, 116, 178, 129, 434, 824, 802, 643, 41, 612, 654, 361, 503, 141, 290, 13, 401, 157, 55, 376, 960, 856, 869, 194, 913, 447, 639, 0]
Элементов начинающихся с 8 = 7
3 минимальных элемента
0
13
41