Задача оценивается в 00 баллов. Ограничение по времени работы в каждой задаче секунда



Pdf көрінісі
бет4/5
Дата15.09.2022
өлшемі168,22 Kb.
#39185
түріРешение
1   2   3   4   5
Байланысты:
ans-iikt-9-11-sch-msk-14-5

Задача 4. Автомобильные номера
В Российской Федерации на разных видах транспортных средств устанавливаются
разные по формату регистрационные знаки («автомобильные номера»). Вот пример
нескольких возможных форматов регистрационных знаков.
№ Пример
Описание формата
Тип транспортного средства
1 Y019KM
Буква, три цифры, две буквы
Частные транспортные средства
2 AB179
Две буквы, три цифры
Общественный транспорт и такси
3 OН2645
Две буквы, четыре цифры
Прицепы
4 3384CT
Четыре цифры, две буквы
Мотоциклы
В этой задаче «буквой» может быть любая заглавная буква латинского алфавита.
Напишите программу, которые по регистрационному знаку определяет его тип или
определяет, что регистрационный знак некорректен.
Программа получает на вход три строки текста, каждая строка содержит один образец
регистрационного знака (возможно, некорректный). Каждый образец содержит от 1 до 10
символов, являющихся цифрами и заглавными латинскими буквами (других символов во
входных данных быть не может).
Программа должна вывести для каждого образца число, соответствующее типу
транспортного средства, как в приведенной таблице, то есть 1 — для частных транспортных
средств, 2 — для общественного транспорта, 3 — для прицепов, 4 — для мотоциклов. Если
номерной знак некорректен (не подходит ни к одному из указанных типов), то необходимо
вывести число 0. Каждое число необходимо выводить в отдельной строке.
Пример входных и выходных данных
Ввод
Вывод
Y019KM
A9999
OH2645
1
0
3
Система оценивания
Решение, правильно работающее только в тех случаях, когда все регистрационные
знаки корректны (относятся к одному из четырех типов), будет оцениваться в 40 баллов.
Решение
Это несложная задача на умение обрабатывать текстовые строки и существует
множество способов ее решения. Один из самый простых способов решения такой. Заменим
в исходной строке все цифры на символ «0», а все буквы — на символ «A». Для этого
создадим новую пустую строку T и будем последовательно перебирать символы исходной
строки и проверять, является ли он цифрой. Если символ является цифрой, то добавим в
конец строки T символ «0», иначе добавим символ «A». В результате если данная строка
была регистрационным знаком первого типа, то строка T будет равна «A000AA», если данная
строка была второго типа, то T будет равна «AA000», для третьего типа T будет равна
«AA000», для четвертого типа — «0000AA». Это можно проверить при помощи четырех
условных инструкций, а во всех остальных случаях нужно вывести число 0. Пример решения
на языке Python версии 3:
Страница 5 из 8


for i in range(3):
S = input()
T = ""
for char in T:
if "0" <= char <= "9":
T += "0"
else:
T += "A"
if T == "A000AA":
print(1)
elif T == "AA000":
print(2)
elif T == "AA0000":
print(3)
elif T == "0000AA":
print(4)
else:
print(0)


Достарыңызбен бөлісу:
1   2   3   4   5




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет