Складіть програму мовою Python. Виведіть всі двоцифрові парні числа. Даю 50 балів.
Складіть програму мовою Python. Виведіть всі двоцифрові парні числа.
Даю 50 балів.
Напишіть програму на мові Python даю 100 балів! Буду дуже вдячний!
13-цифровий міжнародний стандартний номер книги (International Standard Book Number) – це унікальний код, який ідентифікує книгу в продажі. Остання цифра називається перевірочною цифрою (check digit) і використовується для перевірки на помилки. Для обчислення цього значення
1) кожну з 12 перших цифр почережно множать на 1 або 3,
2) додають добутки та ділять результат за модулем 10. Перевірочна цифра отримується відніманням від 10 отриманого результату.
Наприклад, для ISBN 9789609319614:
9×1+7×3+8×1+9×3+6×1+0×3+9×1+3×3+1×1+9×3+6×1+1×3=126.
Перевірочна цифра – 10−(126 10)=10−6=4.
Напишіть програму, що зчитуватиме 13-цифровий ISBN та перевірятиме останню цифру на валідність цього номеру.
Ответы на задачу по Напишіть програму на мові Python даю 100 балів! Буду дуже вдячний! 13-цифровий міжнародний стандартний номер книги (International Standard Book Number) – це унікальний код, який ідентифікує книгу в продажі. Остання цифра називається перевірочною цифрою (check digit) і використовується для перевірки на помилки. Для обчислення цього значення 1) кожну з 12 перших цифр почережно множать на 1 або 3, 2) додають добутки та ділять результат за модулем 10. Перевірочна цифра отримується відніманням від 10 отриманого результату. Наприклад, для ISBN 9789609319614: 9×1+7×3+8×1+9×3+6×1+0×3+9×1+3×3+1×1+9×3+6×1+1×3=126. Перевірочна цифра – 10−(126 10)=10−6=4. Напишіть програму, що зчитуватиме 13-цифровий ISBN та перевірятиме останню цифру на валідність цього номеру. для школьников 1 - 4 класс. Узнайте решение и читайте обсуждения по предмету Информатика. Ответы на этот вопрос уже добавлены. Наш сайт предлагает вам возможность стать экспертом и помогать другим.
Ответ:
def check_ISBN(num):
if len(str(num)) != 13:
return False
ISBN_sum = 0
for ix,digit in enumerate(map(int, str(num)[:-1])):
ISBN_sum += digit * (1 if ix%2==0 else 3)
return int(str(num)[-1]) == 10-ISBN_sum%10
Объяснение:
На вход функции идёт номер ISBN.
Сначала проверим что в числе 13 цифр. Если нет, то сразу говорим, что ISBN неправильный.
В функции объявляем ISBN_sum в котором будем считать сумму как в задании.
Объявляем цикл где ix — это индекс цифры в числе, а digit цифра. Для того чтобы пройтись по числу как по массиву, приводим его к строковой переменной и используем функцию map, таким образом получаем список с искомыми цифрами.
Считаем сумму. Для каждой цифры смотрим модуль индекса (ix%2), если он равен нулю, то берём единицу, если не нулю, т.е. единице, то берём 3. Таким образом для каждой цифры чередуем 1 и 3 как в задании. Это чередование умножаем на число и добавляем к сумме.
Далее по заданию проверяем равно ли последнее число в ISBN 10-сумма модуль 10.
Функция вернёт ИСТИНУ если условие выполнено и ЛОЖЬ если числа не совпали.
Далее данную функцию можно использовать на искомом номере и нескольких сгенерированных. См. скрин.