Информатика, вопрос задал adfijsijfasrjgiuhsar , 6 лет назад

РЕШИТЕ В ПИТОНЕ ! ЕСЛИ НЕПОНЯТНО ЧТО В ВОДЕ И ВЫВОДЕ ТО СМОТРИТЕ СКРИН!\


В комнате лежит блокнот. Утром блокнот открыл Вася и стал решать логическую задачу про светофор. В блокноте появилось много записей с цветами: «зелёный», «жёлтый» и «красный».

Днём блокнот открыл Васин брат Петя и стал считать свою среднюю оценку по географии. В блокноте добавился перечень всех его оценок (числа от 2 до 5).

Вечером блокнот открыл папа мальчиков, записал туда произвольный набор символов и утверждает, что это рабочие записи.

Дана запись из блокнота. Выведи категорию записи: "светофор", "оценка" или "рабочие записи".

Обрати внимание, что цвета Вася записывал с буквой «ё».


Ввод Вывод

------------------------------------

зелёный светофор

--------------------------------------

2 оценка

--------------------------------------------

import numpy as np рабочие записи

Приложения:

Ответы на вопрос

Ответил nikdissv
3

note = input()

if note in ('зелёный', 'жёлтый', 'красный'): print('светофор')

elif note.isdigit(): print('оценка')

else: print('рабочие записи')


bettapy: Не, так не принято, PEP8 не одобряет такое. Так, конечно, можно, код заработает, решение правильное, но это не соответствует стандартам PEP8 (PEP 8: E701 multiple statements on one line (colon))
nikdissv: Основываясь на разделе PEP8 #pet-peeves, а именно, после "Immediately before a comma, semicolon, or colon" идёт код:

# Correct:
if x == 4: print(x, y); x, y = y, x

То бишь, это правильный (correct) код для pep8; и как можно заметить, перехода на новую строку там нет (как и табуляции, соответственно).
bettapy: Хм, PyCharm всё равно ругается на это -_-
nikdissv: А, это да, я это просто отключил.
Bbbx23: можно решить эту задачку дедовским и точно рабочим способом: a=input()
if a=='зелёный':
print('светофор')
if a=='2':
print('оценка')
if a=='import numpy as np':
print('рабочие записи')
if a=='жёлтый':
print('светофор')
if a=='3':
print('оценка')
if a=='красный':
print('светофор')
if a=='4':
print('оценка')
if a=='5':
print('оценка')
if a=='оценка по географии':
print('рабочие записи')
if a=='коричневый':
print('рабочие записи')
if a=='6':
print('рабочие записи')
nikdissv: это не дедовский способ - это китайское программирование, ещё и не охватывающие всех сценариев, без elif-ов, это не правильное решение, и чем вам не угодили уже предоставленные решения?
Bbbx23: Если решить эту задачу таким способом, то он отметит этот вариант решения, как правильный. Отсальные варианты он не засчитывает. Я понимаю, что решить можно более сложным путём, но а зачем? Если ты знаешь все варианты вывода, то как по мне, проще будет подогнать ввод под вывод и всё:)
nikdissv: как знаешь.
Bbbx23: это задачи 8 класса на Янд-учебнике, и проверка заданий там довольно странная. Большинство решений программа может просто не засчитать, поэтому сделал так;)
nikdissv: Я посмотрел, судя по твоему коду, у меня там ошибка, вместо строки elif note.isdigit() надо написать '1' < note < '6'
Ответил fsadofhsduighiushgiu
1

a=input()

if a=='зеленый' or a=='красный' or a=='желтый':

print('светофор')

elif a=='2' or a=='3' or a=='4' or a=='5':

print('оценка')

else:

print('рабочие записи')

Новые вопросы