>>> class UnorderedList:
... def __init__(self):
... self.head = None
...
... def append(self, item):
... newnode = Node(item)
... if self.head is None:
... self.head = newnode
... return
... current = self.head
... while True:
... nextnode = current.getNext()
... if nextnode is None:
... break
... current = nextnode
... current.setNext(newnode)
...
... def print(self):
... current = self.head
... while current is not None:
... print(current.getData(), end=' ')
... current = current.getNext()
... print()
...
>>> class Node:
... def __init__(self, data):
... self.data = data
... self.next = None
...
... def getData(self):
... return self.data
...
... def getNext(self):
... return self.next
...
... def setData(self, data):
... self.data = data
...
... def setNext(self, node):
... self.next = node
...
>>> lst = UnorderedList()
>>> lst.append(1)
>>> lst.append(2)
>>> lst.append(3)
>>> lst.print()
1 2 3
>>>
>>> lst = [1, 2, 3, 4, 5] * 10
>>>
>>> out = [n * 2 if i % 9 == 0 else n
... for i, n in enumerate(lst, 1)]
>>> out
[1, 2, 3, 4, 5, 1, 2, 3, 8, 5, 1, 2, 3, 4, 5, 1, 2, 6, 4, 5, 1, 2, 3, 4, 5, 1, 4, 3, 4, 5, 1, 2, 3, 4, 5, 2, 2, 3, 4, 5, 1, 2, 3, 4, 10, 1, 2, 3, 4, 5]
>>>
>>> import lxml.html
>>>
>>> s = b'<div>Hyv\xc3\xa4 juoni!</div>'.decode('utf-8')
>>>
>>> doc = lxml.html.fromstring(s)
>>> doc
<Element div at 0xb744be3c>
>>> doc.text
'Hyvä juoni!'
>>>
>>> def f1(x):
... return 2 * x
...
>>> def f2(x):
... return x * x
...
>>> def g(func, start, end, step):
... while start <= end:
... yield start, func(start)
... start += step
...
>>> list(g(f1, -3, 3, 1))
[(-3, -6), (-2, -4), (-1, -2), (0, 0), (1, 2), (2, 4), (3, 6)]
>>>
>>> list(g(f2, 0, 10, 1))
[(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25), (6, 36), (7, 49), (8, 64), (9, 81), (10, 100)]
>>>
>>> import re
>>>
>>> text = """
... abc
... first:
... 10, 20, 30, 40, 50
...
... def
... second:
... 600, 700, 800, 900, 1000
...
... ghi
... """
>>>
>>> list(map(re.compile(r'\d+').findall,
... re.findall(r'(?:\d+(?:, )?)+', text)))
[['10', '20', '30', '40', '50'], ['600', '700', '800', '900', '1000']]
>>>
1) Ведь не достаточно знать один язык?
Многие советуют начать с SICP. Так ли это?
3) Обязательно ли при изучении программирования нужно чётко представлять про интерпретатор и системы счисления, как внутри всё работает и т.д.?
# Print popup message
# Say(message, seconds)
Say()
{
kdialog --passivepopup "$1" ${2:-3}
}
# Ping server until it wakes up
# Connect([site="www.yandex.ru"
# [, count=1
# [, interval=3
# [, message="connected"]]]])
Connect()
{
local site="www.yandex.ru"
local count=1
local interval=3
local message="connected"
[ "$1" = "--help" ] && {
echo "usage: $FUNCNAME [site[, count[, interval[, message]]]]"
echo " $FUNCNAME $site $count $interval $message"
return 1
} 1>&2
[ -n "$1" ] && site="$1"
[ -n "$2" ] && count="$2"
[ -n "$3" ] && interval="$3"
[ -n "$4" ] && message="$4"
while ! ping -c $count "$site"; do
sleep $interval;
done
Say "$message"
}
# Download YouTube video in selected format
# Ytf(url, ofile[, fmt=18])
Ytf()
{
[ $# -eq 0 -o "$1" = "--help" ] && {
echo "usage: $FUNCNAME url ofile [fmtn=18]"
echo " $FUNCNAME http://youtube 12345.flv"
echo " $FUNCNAME http://youtube 12345.flv 19"
return 1
} 1>&2
n=${3:-18}
youtube-dl -c -f "$n" "$1" -o "$2"
}
# Check access to url like a browser
# SpiderB(url[, agent])
SpiderB()
{
agent=${2:-Wget}
wget --spider --user-agent="$agent" "$1"
}
parser_write = subparsers.add_parser(
'write',
help='Write вфеф',
usage='%(prog)s [-h] address {data|-f FILE}'
)
>>> import email.header
>>>
>>> s = "=?UTF-8?B?UmVsZWFzZS5yYXI=?="
>>>
>>> email.header.decode_header(s)
[(b'Release.rar', 'utf-8')]
>>>
Какие библиотеки использовать: numpy, ctruct?
Как то же самое написать на Python3?
>>> 0b10101 & 0b11 == 1
True
>>>
>>> s = '0025043F043504400435043004340440043504410025043204410435044500200432'
>>> b = bytes.fromhex(s)
>>> b.decode('utf-16-be')
'%переадрес%всех в'
>>>
Прошу объяснить пример из стандартной документации python getopt
В частности откуда взять функцию usage()? Почему такие разные параметры sys.exit() и sys.exit(2)? Какую роль выполняет переменная verbose? Что делает команда assert False ...?
2. Для чего вообще нужно это ограничение?