Предмет: Информатика, автор: shreck2222

Помогите решить задачу python для школы, желательно с объяснением

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

2. Заполните массив случайными числами в интервале [0,1000] и выведите номера трёх различных минимальных элементов. Разрешается сделать только один проход по массиву.

Ответы

Автор ответа: mirageKZ
1

Ответ:

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


shreck2222: Спасибо большое! А можете, пожалуйста помочь ещё с одной задаче?
С клавиатуры вводится целое число от 1 до 1000, обозначающая сумму в рублях. Программа должна напечатать эту сумму прописью, например:
двадцать один рубль
сто семьдесят три рубля
девятьсот пятнадцать рублей.
mirageKZ: ок. задай как вопрос с нормальными баллами
shreck2222: А можно в решении первой задачи def getH(s) по другому записать. И как во второй задачи записать по другому a=sorted(a)
mirageKZ: getH(s) это функция, а нужно вообще без функций?
mirageKZ: ответил.
shreck2222: Нужно
mirageKZ: я уже ответил в новом вопросе https://znanija.com/task/45006672
shreck2222: А можно решение второй задачи полностью, я не понимаю как соединить часи
Похожие вопросы