Мне Ай Твистер и Колу 0.5
Для этого поста я взял формулировки из вариантов ОГЭ по Информатике:
Первый
Второй
При решении последней задачи ОГЭ по информатике, нам всегда нужно получать какой то ввод. В задаче часто дается вот такая таблица:
| Входные данные | Выходные данные |
|---|---|
| 3 | 123 |
| 20 | |
| 52 | |
| 67 |
Входные данные - это то, что вводят в терминал. Обычно ввод делится на два вида:
Первый: в начале вводится число значений, которое введётся. Например формулировка такая:
Программа получает на вход число проехавших автомобилей N (1 < N < 30), затем указываются их скорости.
Программа получит сначала число автомобилей, например 3, потом будет ровно три ввода скоростей, то есть:
ps1
>> 3 <- число машин
>> 20 <- первая скорость
>> 52 <- вторая скорость
>> 67 <- третья скоростьПосле третей скорости ввод заканчивается.
Второй: всё вводится сразу, но конец ввода определяется чем-то вроде "0"
Вот так выглядит формулировка:
Программа получает на вход целые числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность).
Буквально написано количество введенных чисел неизвестно - это значит, что их может быть сколько угодно. ...последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность) - то, о чём я говорил: конец - это ввод "0"
Разбор:
ps1
>> 20 <- первое число
>> 52 <- второе число
...
>> 67 <- N число
>> 0 <- Конец вводаВыходные данные - это то, что надо вывести через print()
Тут может быть что угодно, но вот что попадается чаще всего:
Количество четных/нечетных чисел
Среднее число из всех
Самое большое/маленькое число
Что вроде "YES"/"NO"
Среднее число из всех
Самое большое/маленькое число
Что вроде "YES"/"NO"
Что же насчёт Ай Твистера?
Знакомимся с новой встроенной функцией пайтона: input
Что она делает? Эта функция просто ждёт какой-либо ввод от пользователя.
Синтаксис такой:
python
булат_пошел_в_школу = input()
print("Результат:",булат_пошел_в_школу)Мы объявляем переменную булат_пошел_в_школу и присваиваем ей значение ввода пользователя. Можно вводить что угодно. Вот как это будет выглядеть:
txt
>> ДА <- мы вводим что угодно
>> Результат: ДА <- сработал printИли пусть будет так:
txt
>> Нет, он офигел <- мы вводим что угодно
<< Результат: Нет, он офигел <- сработал printПрошу заметить, что я использовал в print: ...тат:",булат... - я вывожу строку, и чтобы объединить её с переменной я ставлю запятую и пишу название переменной.
input в ОГЭ
Для всех задач нам он нужен. В ОГЭ я заметил, что почти всегда используются числа, поэтому нам нужен int (если помните, я давал таблицу в первом уроке):
python
возраст = int(input())
print("Возраст пользователя:",возраст)Зачем нужен int в начале, если можно без него? int нужен чтобы ввод пользователя точно был числом. Если при int(input()) ввести НЕ число, то выдаст ошибку. В общем, просто пишем конструкцию int(input()), улыбаемся и машем
Тесты программы выше (вывод):
txt
>> 18
<< Возраст пользователя: 18А если не число?
txt
>> булат <- ЭТО СТРОКА, А НЕ ЧИСЛО!
<< Traceback (most recent call last):
File "C:\oge.py", line 1, in <module>
возраст = int(input())
~~~^^^^^^^^^
ValueError: invalid literal for int() with base 10: 'булат'Как мы видим, первая программа обрабатывает числа нормально: Возраст пользователя: 18, а вторая - падает с ошибкой. Я вам показал это, чтобы вы поняли, зачем это делается, но главное запомнить: в ОГЭ пишем конструкцию int(input()), улыбаемся и машем
Практика
Давайте напишем программу для определения возраста:
python
print("Введите свой возраст")
возраст_пользователя = int(input())
if возраст_пользователя >= 18:
print("Вы взрослый")
elif 18 > возраст_пользователя >= 12:
print("Ты подросток")
else:
print("Держи киндер 🐛")Вывод:
txt
Тест #1
<< Введите свой возраст
>> 18
<< Вы взрослыйtxt
Тест #2
<< Введите свой возраст
>> 12
<< Ты подростокtxt
Тест #3
<< Введите свой возраст
>> 6
<< Держи киндер 🐛Домашнее задание
Написать программу, которая просит ввести имя пользователя, пол и возраст. Вывести в таком формате:
txt
<< Пользователь: Булат, 16
<< Пол: мужской
<< Статус: подростокПодсказка: для строк используем просто input(), для возраста int(input())