From 9b2974ed09285442ef4e30c49575af9d5840a90f Mon Sep 17 00:00:00 2001 From: Yasen Date: Tue, 8 Oct 2024 12:01:33 +0300 Subject: [PATCH] added info to default --- docs/python/defolt_python.md | 19 ++++++++++++++--- docs/python/regular.md | 41 ++++++++++++++++++++++++++++++++++++ test.py | 20 ++++++++++++++++++ 3 files changed, 77 insertions(+), 3 deletions(-) create mode 100644 docs/python/regular.md create mode 100644 test.py diff --git a/docs/python/defolt_python.md b/docs/python/defolt_python.md index df4c4c9..c9e8031 100644 --- a/docs/python/defolt_python.md +++ b/docs/python/defolt_python.md @@ -69,7 +69,20 @@ print ('''{}{}{} {}{}{} {}{}{}'''.format(ввести числа в кол-ве {})) ``` --> `{0:1.3f}` 3f - кол-во знаков после запятой в float, `{0:10.3f}` 10 - будет пробел - подставить вместо {} в таблице +-> `{0:1.3f}` (для каждого значения можно свой) 3f - кол-во знаков после запятой в float, `{0:10.3f}` 10 - будет пробел - подставить вместо {} в таблице +# integer numbers with minimum width +print("{:5d}".format(12)) +# width doesn't work for numbers longer than padding +print("{:2d}".format(1234)) +# padding for float numbers +print("{:8.3f}".format(12.2346)) +# integer numbers with minimum width filled with zeros +print("{:05d}".format(12)) +# padding for float numbers filled with zeros +print("{:08.3f}".format(12.2346)) + +Подробнее о примере в источнике: https://pythonstart.ru/string/strokoviy-metod-format-python + ## Boolean | True | False | @@ -83,7 +96,7 @@ print ('''{}{}{} ```python print(ord('a')) -> 97 print(ord('b')) -> 98 -print(ord('a' > 'b')) -> Falseа +print(ord('a' > 'b')) -> False print('hi'>'hello') -> True # Отличие в первых отличающихся знаках ('i'= 105 'e'= 101) ``` - Программа вывода `True`, если ввести 18 и более лет @@ -222,7 +235,7 @@ for item in dict.values(): ``` ## Цикл while -Выполняется до тех пор, пока какое-то условие не станет True +Выполняется до тех пор, пока какое-то условие не станет False ```python x = 5 while x>=1: diff --git a/docs/python/regular.md b/docs/python/regular.md new file mode 100644 index 0000000..421d458 --- /dev/null +++ b/docs/python/regular.md @@ -0,0 +1,41 @@ +# Регулярные выражения + +Источники: +- [Хабр - Регулярные выражения в Python от простого к сложному. Подробности, примеры, картинки, упражнения](https://habr.com/ru/articles/349860/) +- Очень подробный и обстоятельный материал: https://www.regular-expressions.info/; +- Разные сложные трюки и тонкости с примерами: http://www.rexegg.com/; +- Онлайн визуализация регулярок https://www.debuggex.com/ (выбрать Python); + --- +Примеры регулярных выражений +|Регулярка|Её смысл| +|----------|----------| +| simple text| Cell 2 | +| \d\d/\d\d/\d{4}| Даты в формате ДД/ММ/ГГГГ(и прочие куски, на них похожие, например, 98/76/5432) +| \b\w{3}\b | Слова в точности из трёх букв \b означает границу слова (с одной стороны буква, а с другой — нет) \w — любая буква, {3} — ровно три раза | +|[-+]?\d+| Целое число, например, 7, +17, -42, 0013 (возможны ведущие нули) [-+]? — либо -, либо +, либо пусто \d+ — последовательность из 1 или более цифр| +|[-+]?(?:\d+(?:\.\d*)?\.\d+)(?:[eE][-+]?\d+)? | Действительное число, возможно в экспоненциальной записи Например, 0.2, +5.45, -.4, 6e23, -3.17E-14.| +---- +import re +```python +txt = "sampleapp-ABCD-1234-us-eg-123456789" +x = re.findall("([ABCD]+[-][0-9]+)", txt) +print(x) +``` +```python +text = 'ул. Карпинского, дом № 20, корпус 3, квартира 98' +# нет групп захвата +match = re.findall(r'\d+', text) +print(match) +# ['20', '3', '98'] +``` +```python +# одна группа захвата +match = re.findall(r'(?i)([а-я]+)', text) +print(match) +# ['ул', 'Карпинского', 'дом', 'корпус', 'квартира'] +``` +```python +# несколько групп захвата +print(re.findall(r'(\w+)=(\d+)', 'set width=20 and height=10')) +# [('width', '20'), ('height', '10')] +``` \ No newline at end of file diff --git a/test.py b/test.py new file mode 100644 index 0000000..ae3034c --- /dev/null +++ b/test.py @@ -0,0 +1,20 @@ +L=list(range(1,10)) +nmb = 230.2346 +# print ('''{:5d}{:5d}{:5d} +# {:5d}{:5d}{:5d} +# {:5d}{:5d}{:5d}'''.format(*L)) +# print ('''{}{}{} +# {}{}{} +# {}{}{}'''.format(*L)) +# print ('''{0:10.3f}{0:10.3f}{0:10.3f} +# {0:10.3f}{0:10.3f}{0:10.3f} +# {0:10.3f}{0:10.3f}{0:10.3f}'''.format(*L)) + + +# -> {0:1.3f} 3f - кол-во знаков после запятой в float, {0:10.3f} 10 - будет пробел - подставить вместо {} в таблице +# "{:5d}".format(12) +list = [1,2,3] +for i in list: + if i ==3: + break # если True - выход из цикла + print(i) \ No newline at end of file