Так вот, стоит ли мне зацикливаться сейчас на этом и правда ли то, что если я не пойму этого сейчас, то никогда не пойму?
>>> 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) Обязательно ли при изучении программирования нужно чётко представлять про интерпретатор и системы счисления, как внутри всё работает и т.д.?
Не понимаю, что именно генерирует функция rand()
не понимаю зачем использовать остаток от деления
Кратко о программе которую я хочу написать. Это база данных собственных ошибок (в разных областях)
while (cond) {
f1();
f2(); f3();
}
Что за команда "`"(гравис) в командной оболочке bash?
man bash
Command Substitution
Command substitution allows the output of a command to replace the com‐
mand name. There are two forms:
$(command)
or
`command`
Bash performs the expansion by executing command and replacing the com‐
mand substitution with the standard output of the command, with any
trailing newlines deleted.
blockport_except_localhost()
{
iptables -A INPUT ! -s localhost -p tcp --dport "$1" -j DROP
iptables -A INPUT ! -s localhost -p udp --dport "$1" -j DROP
iptables -A OUTPUT ! -d localhost -p tcp --sport "$1" -j DROP
iptables -A OUTPUT ! -d localhost -p udp --sport "$1" -j DROP
}
blockport_except_localhost 80
# 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"
}
У нас есть две вспомогательных структуры это структура хранящая первый элемент списка (для того, чтобы знать с чего начинать) и структура для хранения последнего элемента (не совсем понимаю для чего).
[guest@localhost PROGRAMS]$ ls
ASM86 HIEW_650 MASM61 TASM TECH60
[guest@localhost PROGRAMS]$