исправить решения задач: 1.Заполните массив случайными числами в интервале [0,1000] и найдите количество элементов, старшая цифра которых равна 8.

В решение нужно записать 2-4 строчки более простым .
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. Заполните массив случайными числами в интервале [0,1000] и выведите номера трёх различных минимальных элементов. Разрешается сделать только один проход по массиву.
Заменить первую строчку
a=sorted(a)
i=1
b=1
print('3 минимальных элемента')
print(a[0])
while b<3 and b if a[i]!=a[i-1]:
print(a[i])
b+=1
i+=1

Лиза090401 Лиза090401    2   25.05.2021 20:33    1

Ответы
leraci2001 leraci2001  24.06.2021 20:35

Python

from random import randint

n=int(input('Введите размер массива: '))

a=[0]*n

b=0

for i in range(0, n-1):

   a[i]=randint(0, 1000)

# это часть для замены функции getH  

   c=a[i]

   if a[i]>=100: c=a[i]//100

   elif a[i]>10: c=a[i]//10

# конец определения первой цифры

   if c==8:

       b+=1

print(a)

print('Элементов начинающихся с 8 =',b)

# задание 2

# это вместо sorted.

i=1

while i<n:

  if a[i]<a[i-1]:

      z=a[i-1]

      a[i-1]=a[i]

      a[i]=z

      if i>1:

          i-=1

  else:   i+=1

# конец сортировки

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


исправить решения задач: 1.Заполните массив случайными числами в интервале [0,1000] и найдите количе
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика