In [ ]:
%%html
<style>
.text_cell_render * {
font-family: OfficinaSansCTT;
}
.reveal code {
font-family: OfficinaSansCTT;
}
.text_cell_render h3 {
font-family: OfficinaSansCTT;
}
.reveal section img {
max-height: 500px;
margin-left: auto;
margin-right: auto;
}
</style>
In [ ]:
b = [
a ** 3 for a in range(-10, 10)
if a % 3 == 0
]
In [ ]:
b2 = []
for a in range(-10, 10):
if a % 3 == 0:
b2.append(a ** 3)
b2
In [ ]:
def checkio(arr):
if not arr:
return 0
return sum(arr[::2]) * arr[-1]
https://py.checkio.org/mission/secret-message/
1. Нам не надо разбивать строку на слова, достаточно пройти по всем символам.
2. Как определить, что символ (строка) в верхнем регистре?
In [ ]:
def find_message(s):
return "".join([
ch for ch in s if ch.isupper()
])
In [ ]:
def find_message(s):
msg = ""
for ch in s:
if ch.isupper():
msg += ch
return msg
In [ ]:
find_message("hello world!")
In [ ]:
def checkio(num):
res = 1
for digit in str(num):
if digit != "0":
res *= int(digit)
return res
In [ ]:
def most_frequent(strings):
d = {}
for s in strings:
if s in d:
d[s] += 1
else:
d[s] = 1
mx = 1
res = strings[0]
for k, v in d.items():
if v > mx:
mx = v
res = k
return res
In [ ]:
from collections import Counter
def most_frequent(strings):
return Counter(strings).most_common(1)[0][0]
In [ ]:
most_frequent(["foo", "bar", "lol", "foo", "lol", "foo"])
In [ ]:
with open("test.txt", "w") as testfile: # открываем на запись
testfile.write("Немного текста\n")
with open("test.txt", "r") as testfile2: # открываем на чтение
a = testfile2.read()
print(a)
with open("test.txt", "r") as testfile3: # еще бывают "rw", "rb", "wb", "a+" и т.д.
for line in testfile3:
print(line.split(" ")[0])
In [ ]:
with open("test.txt", "w") as testfile: # открываем на запись
testfile.write("Немного текста\n")
https://github.com/enchantner/python-zero
In [ ]:
import os
In [ ]:
# os.listdir("/path/to/dir")
os.getcwd() # текущий каталог
os.mkdir("testdir") # создать каталог
os.rmdir("testdir") # удалить пустой каталог
os.makedirs("testdir/some_dir/some_other_dir") # создаем сразу дерево каталогов
os.remove("test.txt") # удалить файл, аналог os.unlink("test.txt")
In [ ]:
os.remove("test.txt")
print(os.listdir("."))
In [ ]:
import shutil
In [ ]:
shutil.copytree("testdir", "otherdir") # скопировать дерево целиком
shutil.rmtree("otherdir") # удалить непустой каталог со всеми данными
shutil.copyfile("test.txt", "test2.txt") # скопировать файл
shutil.move("test2.txt", "test3.txt") # переместить файл или каталог
In [ ]:
In [ ]:
import sys
In [ ]:
sys.argv # список аргументов, с которыми вызвана команда. Первый - сама команда.
sys.stdin # поток ввода
sys.stdout # поток вывода
sys.stderr # поток ошибок
In [ ]:
In [ ]:
import subprocess
In [ ]:
proc = subprocess.Popen("ls", stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.PIPE)
outs, errs = proc.communicate()
print(outs)
print(errs)
In [ ]:
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": 572,
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": [
"GML",
"XML"
]
},
"GlossSee": "markup"
}
}
}
}
}
In [ ]:
In [ ]:
import json
d = json.loads(a) # превратить строку в словарь
# print(d['glossary']['GlossDiv'])
s = json.dumps(d) # превратить словарь обратно в строку
- nikolay:
name: Nikolay Markov
job: Senior Data Engineer
skills:
- python
- go
- scala
- vasily:
name: Vasily Poupkine
job: Product Manager
skills:
- talk
- eat
- sleep
In [ ]:
import yaml
a = ...
yaml.load(a)
<html>
<body>
<div class="container">
<h2 align='center'>header</h2>
<section>Some text here</section>
</div>
<ul>
<li class="first">First choice</li>
<li>Second choice</li>
</ul>
</body>
</html>
In [ ]:
from bs4 import BeautifulSoup as BS
text = """<html>
<body>
<div class="container">
<h2 align='center'>Some cool text</h2>
<section>Some text here</section>
</div>
<ul>
<li class="first">First choice</li>
<li>Second choice</li>
</ul>
</body>
</html>"""
soup = BS(text, "lxml")
In [ ]:
# soup.find_all("li")[0].text
soup.find("div", {"class": "container"}).find("h2", {"align": "center"}).text
In [ ]:
import requests
resp = requests.get("http://python.org")
In [ ]:
Давайте достанем текст превью к первой новости на сайте http://python.org
In [ ]:
In [ ]: