осенние каникулы с 29.10 по 6.11
зимние с 29.12 по 8.01
весенние с 17.03.по 26.03
выходные дни с 23.02 по 26.02.; с 29.04 по 1.05; с 6.05 по 9.05.
ДОПОЛНИТЕЛЬНО 1 класс
import re
n = 0
for x in re.split('\W+',open('10-0.txt', 'r').read().lower()):
print(x)
Регулярные выражения, иногда называемые re, regex или regexp, представляют собой последовательности символов, составляющие шаблоны, соответствия которым ищутся в строке или тексте. Для работы с regexp в Python есть встроенный модуль re.
Обычное использование регулярного выражения:
Поиск подстроки в строке (search and find)
Поиск всех подходящих строк (findall)
Разделение строки на подстроки (split)
Замена части строки (sub)
Основы
Регулярное выражение – это комбинация символов и метасимволов. Из метасимволов доступны следующие:
\ используется для игнорирования специального значения символа
[] указывает на класс символов. Например: [a-z] — все буквы латинского алфавита в нижнем регистре, [a-zA-Z0-9] — все буквы в обоих регистрах плюс цифры
^ соответствует началу текста
$ обозначает конец текста
. соответствует любому символу, кроме символа новой строки
? обозначает одно или ноль вхождений
| означает ИЛИ (совпадение с любым из символов, разделенных им)
* любое количество вхождений (включая 0 вхождений)
+ одно и более вхождений
{} указывает на несколько совпадений предыдущего RE.
() отделяет группу в регулярном выражении
Обратная косая черта (backslash) \ используется в сочетании с другими символами и тогда приобретает особые значения. Если же необходимо использовать backslash просто как символ, без учета специального значения, его нужно «экранировать» еще одной обратной косой чертой – \\. Что касается специальных значений:
\d соответствует любой десятичной цифре, это то же самое, что и [0-9]
\D соответствует любому нечисловому символу
\s соответствует любому пробельному символу
\S соответствует любому не пробельному символу
\w соответствует любому буквенно-числовому символу; это то же самое, что и [a-zA-Z0-9_].
\W соответствует любому не буквенно-числовому символу.
var n, i, a, b:integer;
begin
assing(input,'27.txt');
readln(n);
for i:=1 to n
begin
readln(a,b);
end;
end.
fin=open("27.txt")
n=int(fin.readline())
for i in range(n);
a,b=map(int, Fin.readline().split())
fin.close()
в языке PascalABC.NET можно выполнить перенаправление потока ввода:
assign( input, 'k7.txt' ); readln(s); программа будет «думать», что читает данные, введённые с клавиатуры (с консоли), а на самом деле эти данные будут прочитаны из файла k7.txt
в языке FreePascal также можно выполнить перенаправление потока ввода, но нужно дополнительно открывать входной поток:
при работе в среде FreePascal нужно убедиться, что в параметрах компилятора включена поддержка длинных символьных строк; на всякий случай стоит добавить в первой строке программы директиву
{$H+}
в языке Python удобнее всего использовать такую конструкцию: with open("k7.txt", "r") as F: s = F.readline()> конструкция with-as – это контекстный менеджер, в данном случае он открывает указанный файл в режиме чтения (второй аргумент «r» при вызове функции open), записывает ссылку на него в файловую переменную F, выполняет тело блока (читает первую строку файла в переменную s) и закрывает (освобождает) файл
Скачать все данные из столбца неизвестной длины
a=[int(x) for x in open ('17_2024.txt')]
print(a)