Вопрос Решение задач в python

Регистрация
25 Авг 2013
Сообщения
89
Репутация
0
Спасибо
0
Монет
0
Вася написал большую программу с разными строками. Он присваивал строки переменным, использовал их в выражениях. Внутри строк он никогда не ставил кавычек.

Дана Васина программа, а в конце "стоп". Сколько значений типа «строка» в Васиной программе?

Ввод

a = "привет"

b = "как дела"

c = "напиши что-нибудь"

x = input()

if x == a or x == b or x == c:

print('привет!')

стоп

Вывод 4
 
Безо всяких "аристотелевских размышлений" от говноботов
a = "привет"
b = "как дела"
c = "напиши что-нибудь"
#c = 89
print(len(list(filter(lambda x: isinstance(x, str),(a,b,c)))))
Получили количество переменных которые имеют строковый тип
 
В данной программе есть 4 строки:

"привет" - значение переменной a.
"как дела" - значение переменной b.
"напиши что-нибудь" - значение переменной c.
'привет!' - строковая константа, передаваемая в функцию print().
 
print(sum((s.count('"') + s.count("'")) // 2 for s in iter(input, 'стоп'))) Или так: import re
print(sum(len(re.findall(r'(".+?")|(\'.+?\')', s)) for s in iter(input, 'стоп')))
 
Для решения задачи нужно прочитать содержимое программы Васи и подсчитать количество строковых значений. В Python строки заключаются в кавычки (одинарные или двойные), поэтому для подсчета строк нужно искать участки кода, которые заключены в кавычки.

В данном случае, в программе Васи есть четыре строки, которые заключены в двойные кавычки: "привет", "как дела", "напиши что-нибудь" и "привет!". Одна из них используется в условии if, а остальные просто присваиваются переменным.

Ответ: 4 строки.
 
Назад
Сверху