Compare commits
12 Commits
4c0cdb2f71
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
| edfcdce937 | |||
| 33481126d4 | |||
| 003da78bb7 | |||
| f235a35ebb | |||
| 9192716bfb | |||
| 258f24570a | |||
| 1ce193cc0d | |||
| e79e7b51ce | |||
| 972cd7eccc | |||
| 8491309c9d | |||
| ec0feb6324 | |||
| 1863176b39 |
Regular → Executable
@@ -0,0 +1,17 @@
|
||||
Program case_of;
|
||||
Var a:integer;
|
||||
begin
|
||||
WriteLn('Ââåäèòå íîìåð íîòû');
|
||||
ReadLn(a);
|
||||
case a of
|
||||
1: WriteLn('íîòà äî');
|
||||
2: WriteLn('íîòà ðå');
|
||||
3: WriteLn('íîòà ìè');
|
||||
4: WriteLn('íîòà ôà');
|
||||
5: WriteLn('íîòà ñîëü');
|
||||
6: WriteLn('íîòà ëÿ');
|
||||
7: WriteLn('íîòà ñè');
|
||||
else WriteLn('ÍÅÒ ÒÀÊÎÉ ÍÎÒÛ!!!')
|
||||
end;
|
||||
end.
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
program case2;
|
||||
var a:integer;
|
||||
begin
|
||||
WriteLn('Ââåäèòå íîìåð ìåñÿöà');
|
||||
ReadLn(a);
|
||||
case a of
|
||||
1: WriteLn('ßíâàðü');
|
||||
2: WriteLn('Ôåâðàëü');
|
||||
3: WriteLn('Ìàðò');
|
||||
4: WriteLn('Àïðåëü');
|
||||
5: WriteLn('May');
|
||||
6: WriteLn('Èþíü');
|
||||
7: WriteLn('Àâãóñò');
|
||||
9:WriteLn('Ñåíòÿáðü');
|
||||
10:WriteLn('Îêòÿáðü');
|
||||
11:WriteLn('Íîÿáðü');
|
||||
12:WriteLn('Äåêàáðü');
|
||||
else WriteLn('ÍÅÒ ÒÀÊÎÃÎ ÌÅÑßÖÀ!!!')
|
||||
END;
|
||||
end.
|
||||
@@ -0,0 +1,11 @@
|
||||
program case_;
|
||||
var a:integer;
|
||||
begin
|
||||
WriteLn('Ââåäèòå êîë-âî ñëîíèêîâ îò 1 äî 50');
|
||||
ReadLn(a);
|
||||
Case a of
|
||||
1,21,31,41:WriteLn(a,' ñëîíèê');
|
||||
2..4,22..24,32..34,42..44:WriteLn(a,' Ñëîíèêa');
|
||||
5..20,25..30,35..40,45..50:WriteLn(a,' Ñëîíèêîâ');
|
||||
end;
|
||||
end.
|
||||
@@ -0,0 +1,12 @@
|
||||
program case_adult;
|
||||
var a:integer;
|
||||
begin
|
||||
WriteLn('Ââåäèòå âîçðàñò');
|
||||
ReadLn(a);
|
||||
Case a of
|
||||
1,21,31,41,51,61,71,81,91,101,121,131,141,151,161,171,181,191:writeln('ìíå ',a,' ãîä');
|
||||
2..4,22..24,32..34,42..44,52..54,62..64,72..74,82..84,92..94,102..104,122..124,132..134,142..144,152..154,162..164,172..174,182..184,192..194:writeln('ìíå ',a,' ãîäà');
|
||||
5..20,25..30,35..40,45..50,55..60,65..70,75..80,85..90,95..100,105..120,125..130,135..140,145..150,155..160,165..170,175..180,185..190,195..200:writeln('ìíå ',a,' ëåò');
|
||||
else WriteLn('ÍÅÂÅÐÍÛÉ ÂÎÇÐÀÑÒ!!!');
|
||||
end;
|
||||
end.
|
||||
@@ -0,0 +1,12 @@
|
||||
program cha;
|
||||
|
||||
var c,x,y,z:char; //char - типо integer только кроме цифр есть буквы и точки
|
||||
begin
|
||||
z:= ('z'); // присвоил z значение "z"
|
||||
WriteLn('введи x');
|
||||
ReadLn(x); //читаем x
|
||||
WriteLn(x+z); // складываем символы
|
||||
WriteLn('4 буквы без пробелa.');
|
||||
ReadLn(c,x,y,z);
|
||||
WriteLn(c+x+y+z); // таким образом можно составить слово.
|
||||
end.
|
||||
@@ -0,0 +1,13 @@
|
||||
program div_mod;
|
||||
var a,one,dec,hun,rec:integer;
|
||||
begin
|
||||
WriteLn ('Ââåäèòå ÷èñëî');
|
||||
ReadLn (a);
|
||||
one:=a mod 10;
|
||||
WriteLn ('Öèôðà åäèíèö ÷èñëà - ',one);
|
||||
dec:=(a div 10) mod 10;
|
||||
rec:= dec*10+one;
|
||||
WriteLn ('À ýòî òîæå ÷èñëî - ',rec);
|
||||
Write ('Enter');
|
||||
ReadLn;
|
||||
End.
|
||||
@@ -0,0 +1,16 @@
|
||||
program div_mod;
|
||||
var a,one,dec,hun,rec:integer;
|
||||
begin
|
||||
WriteLn ('Ââåäèòå ÷èñëî');
|
||||
ReadLn (a);
|
||||
one:=a mod 10;
|
||||
WriteLn ('Öèôðà åäèíèö ÷èñëà - ',one);
|
||||
dec:=(a div 10) mod 10;
|
||||
WriteLn ('Öèôðà äåñÿòêîâ ÷èñëà - ', dec);
|
||||
hun:= a div 100;
|
||||
WriteLn ('Öèôðà ñîòåí ÷èñëà - ', hun);
|
||||
rec:= hun*100+dec*10+one;
|
||||
WriteLn ('À ýòî òîæå ÷èñëî - ',rec);
|
||||
Write ('Enter');
|
||||
ReadLn;
|
||||
End.
|
||||
@@ -0,0 +1,9 @@
|
||||
Program oper;
|
||||
Var a,b,c,d,e,f: integer;
|
||||
Begin
|
||||
Read (a,b,c,d);
|
||||
E:=a div b;
|
||||
f:= c mod d;
|
||||
WriteLn (e);
|
||||
WriteLn (f);
|
||||
End.
|
||||
@@ -0,0 +1,8 @@
|
||||
Program trololo;
|
||||
var k,d,r,s:integer;
|
||||
Begin
|
||||
ReadLn(k,d);
|
||||
r:=k div d;
|
||||
s:=k mod d;
|
||||
WriteLn('Если разделить ',k,' на ',d,'Получится ',r,'(остаток ',s,')');
|
||||
end.
|
||||
@@ -0,0 +1,12 @@
|
||||
program a7;
|
||||
var a:real;
|
||||
b:integer;
|
||||
begin
|
||||
ReadLn(a);
|
||||
a:=a*100;
|
||||
b:= Trunc (a);
|
||||
b:=b mod 100;
|
||||
writeln(b);
|
||||
a:=(b div 10) + (b mod 10);
|
||||
writeln(a);
|
||||
end.
|
||||
@@ -0,0 +1,14 @@
|
||||
var a,dec,hun,one,k:integer;
|
||||
begin
|
||||
writeLn('Ââĺäčňĺ ÷čńëî');
|
||||
writeln;
|
||||
readln(a);
|
||||
one:=a mod 10;
|
||||
a:=a div 10;
|
||||
dec:=a mod 10;
|
||||
a:=a div 10;
|
||||
hun:=a mod 10;
|
||||
a:=a div 10;
|
||||
K:=hun+dec+one;
|
||||
write(k);
|
||||
end.
|
||||
@@ -0,0 +1,12 @@
|
||||
var a,dec,hun,one:integer;
|
||||
begin
|
||||
writeLn('Ââĺäčňĺ ÷čńëî');
|
||||
writeln;
|
||||
readln(a);
|
||||
one:=a mod 10;
|
||||
a:=a div 10;
|
||||
dec:=a mod 10;
|
||||
a:=a div 10;
|
||||
writeln(dec);
|
||||
writeln(one);
|
||||
end.
|
||||
@@ -0,0 +1,15 @@
|
||||
var a,dec,hun,one:integer;
|
||||
begin
|
||||
writeLn('Ââĺäčňĺ ÷čńëî');
|
||||
writeln;
|
||||
readln(a);
|
||||
one:=a mod 10;
|
||||
a:=a div 10;
|
||||
dec:=a mod 10;
|
||||
a:=a div 10;
|
||||
hun:=a mod 10;
|
||||
a:=a div 10;
|
||||
writeln(hun);
|
||||
writeln(dec);
|
||||
writeln(one);
|
||||
end.
|
||||
@@ -0,0 +1,18 @@
|
||||
var
|
||||
n: integer;
|
||||
a: array[byte] of byte;
|
||||
i, j: byte;
|
||||
|
||||
begin
|
||||
i := 1;
|
||||
readln(n);
|
||||
while n > 0 do
|
||||
begin
|
||||
a[i] := n mod 10;
|
||||
inc(i);
|
||||
n := n div 10;
|
||||
end;
|
||||
j := i - 1;
|
||||
for i := j downto 1 do
|
||||
writeln(a[i]);
|
||||
end.
|
||||
@@ -0,0 +1,18 @@
|
||||
program procedura;
|
||||
|
||||
var c:char;
|
||||
|
||||
//---------------------------------------------------
|
||||
procedure zv; //объявляем процедуру и её название
|
||||
var i:integer; // процедуры используют только свои переменные, вне процедур их не существует
|
||||
begin
|
||||
WriteLn('*******************************'); // собственно, тут то, что делает сама процедура
|
||||
end;
|
||||
//---------------------------------------------------
|
||||
|
||||
begin
|
||||
c:='0';
|
||||
WriteLn('Хочешь звездочек? Y/N');
|
||||
ReadLn(c);
|
||||
If c = 'Y' then zv; // Теперь, когда тебе нужны будут звездочки,просто пиши zv;
|
||||
end.
|
||||
@@ -0,0 +1,23 @@
|
||||
program procedura;
|
||||
|
||||
var r,r1,s2:integer;
|
||||
|
||||
//---------------------------------------------------
|
||||
procedure zv(a,b:integer; var s:integer); //Допустим, тебе нужно выполнить действие с какими то переменными, которые находятся вне процедуры
|
||||
begin // для этого создай процедуру, а процедурные переменные укажи в скобках, после названия процедуры
|
||||
//если ты хочешь, чтобы в последствии этой процедуры изменилась глобальная переменная, указывай её как я указал s, но лучше используй функции.
|
||||
s:=a+b; //<-- собственно само действие, которое нужно совершить с глобальными переменными,
|
||||
// ты указываешь тут, только вместо глобальных - процедурные, которые ты указал в скобках
|
||||
WriteLn(a,' ',b);
|
||||
end;
|
||||
|
||||
//------------------------------------------------
|
||||
|
||||
begin
|
||||
r:=random(5000000);
|
||||
r1:=random(5000000); // тут, собственно, глобальные переменные, с которыми нужно выполнить действие
|
||||
WriteLn(r,' ',r1);
|
||||
zv(r,r1,s2);
|
||||
WriteLn('Сумма рандомных чисел = ',s2);
|
||||
end.
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
program procedura;
|
||||
|
||||
var s2,r1,r:integer;
|
||||
|
||||
//---------------------------------------------------
|
||||
function zv(a,b:integer):integer; // функции - это типо те же процедуры, только с конкретным результатом.
|
||||
//функция - это и есть результат. отсюда и :integer после скобок
|
||||
begin
|
||||
zv :=a+b; // у этой функции результатом является сложение переменных a и b
|
||||
WriteLn('Помимо этого в функции выполняются любые действия, не связанные с вычислением результата, поэтому эта надпись выведется на экран');
|
||||
end;
|
||||
//------------------------------------------------
|
||||
|
||||
begin
|
||||
r:=random(5000000);
|
||||
r1:=random(5000000);
|
||||
WriteLn(r,' ',r1);
|
||||
s2:=zv(r,r1); // переменной s2 присваивается результат функции, и так собственно функция и призывается
|
||||
WriteLn('Сумма рандомных чисел = ',s2);
|
||||
end.
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
Program While_task_1;
|
||||
Var a,b:integer;
|
||||
Begin
|
||||
ReadLn(b);
|
||||
a:=1;
|
||||
While ((a<b) or (a=b)) do
|
||||
begin
|
||||
WriteLn(a);
|
||||
inc (a);
|
||||
end;
|
||||
end.
|
||||
@@ -0,0 +1,13 @@
|
||||
Program While_Task3;
|
||||
const n=5;
|
||||
var a:integer;
|
||||
begin
|
||||
WriteLn('Ââåäè 5');
|
||||
ReadLn(a);
|
||||
While a<>n do
|
||||
begin
|
||||
WriteLn ('Íå âåðíî, ïîïðîáóé åùå');
|
||||
ReadLn(a);
|
||||
end;
|
||||
WriteLn('Ìîëîäåö');
|
||||
end.
|
||||
@@ -0,0 +1,15 @@
|
||||
Program While_Task7;
|
||||
const n=10;
|
||||
var a:integer;
|
||||
begin
|
||||
While a<> n do
|
||||
Begin
|
||||
writeln('hello');
|
||||
inc(a);
|
||||
end;
|
||||
a:=0;
|
||||
repeat
|
||||
writeln('hello');
|
||||
inc(a);
|
||||
until a=n;
|
||||
end.
|
||||
@@ -0,0 +1,10 @@
|
||||
Program While_Task8;
|
||||
const n=25;
|
||||
var a:integer;
|
||||
begin
|
||||
a:=3;
|
||||
Repeat
|
||||
Writeln(a);
|
||||
inc(a);
|
||||
until a>n;
|
||||
end.
|
||||
@@ -0,0 +1,13 @@
|
||||
Program While4;
|
||||
Var a,b,c:integer;
|
||||
begin
|
||||
ReadLn(a,b);
|
||||
Write (a mod b);
|
||||
{
|
||||
while a mod b =0 do
|
||||
begin
|
||||
c:=a mod b;
|
||||
end;
|
||||
WriteLn(c);
|
||||
}
|
||||
end.
|
||||
@@ -0,0 +1,38 @@
|
||||
program zap;
|
||||
|
||||
type stud = record // record - ñàìà çàïèñü
|
||||
name : string;
|
||||
year : record // â record`e record íóæíî óêàçûâàòü ÷åðåç :, âìåñòî =
|
||||
D : 1..31;
|
||||
M : string;
|
||||
Y : integer;
|
||||
end;
|
||||
end;
|
||||
var a :stud; // óêàçûâàåì, ÷òî ïåðåìåííàÿ a = çàïèñü stud
|
||||
|
||||
begin
|
||||
WriteLn('Èìÿ');
|
||||
ReadLn(a.name);
|
||||
WriteLn('×èñëî, ìåñÿö, ãîä');
|
||||
with a.year do begin // with äåëàåò îïåðàöèè ñ çàïèñÿìè
|
||||
ReadLn(D);
|
||||
ReadLn(M);
|
||||
ReadLn(Y);
|
||||
end;
|
||||
Case a.year.M of //ïîñëå öèôð a ñòîèò èç - çà îøèáêè, êîòîðóþ õç êàê èñïðàâèòü
|
||||
'1a' : a.year.M:='ßíâàðü';
|
||||
'2a' : a.year.M:='ôåâðàëü';
|
||||
'3a' : a.year.M:='ìàðò';
|
||||
'4a' : a.year.M:='àïðåëü';
|
||||
'5a' : a.year.M:='ìàé';
|
||||
'6a' : a.year.M:='èþíü';
|
||||
'7a' : a.year.M:='èþëü';
|
||||
'8a' : a.year.M:='àâãóñò';
|
||||
'9a' : a.year.M:='ñåíòÿáðü';
|
||||
'10' : a.year.M:='îêòÿáðü';
|
||||
'11' : a.year.M:='íîÿáðü';
|
||||
'12' : a.year.M:='äåêàáðü';
|
||||
end;
|
||||
WriteLn(a.name);
|
||||
WriteLn(a.year.D,' ',a.year.M,' ',a.year.Y);
|
||||
end.
|
||||
@@ -0,0 +1,13 @@
|
||||
program summof30;
|
||||
const n=30;
|
||||
type My=array [1..30] of integer; //ìàññèâ èç 30 öåëûõ ÷èñåë
|
||||
var a: my;
|
||||
s,i:integer;
|
||||
begin
|
||||
WriteLn('ââåäè ',n,' ÷èñåë');
|
||||
for i:=1 to n do ReadLn(a[i]);//íå çíàþ ÷òî äåëàåò [i], íî òóò âîîäÿòñÿ ÷èñëà
|
||||
s:=0;
|
||||
for i:=1 to n do s:=s+a[i]; //âñå åùå íå çíàþ [i], íî òóò ÷èñëà ñêëàäûâàþòñÿ
|
||||
WriteLn(s);
|
||||
end.
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
program idea;
|
||||
var m:array [1..10] of integer; // задаю массив состоящий из 10 переменных (!не массив из цифр 1 - 10!)
|
||||
i:integer;
|
||||
begin
|
||||
WriteLn(m); //вывожу эти 10 переменных. изначально, как и все переменные, они равны нулю
|
||||
m[2]:=2; //второй переменной в массиве [2] присваиваю цифру 2
|
||||
WriteLn(m); // снова вывожу этот массив, и вторая переменная равна 2
|
||||
end.
|
||||
@@ -0,0 +1,25 @@
|
||||
program nunax;
|
||||
var c:char;
|
||||
ch : array[1..4] of char;
|
||||
i,x:integer;
|
||||
label l1;
|
||||
begin
|
||||
ch[1]:='a';
|
||||
ch[2]:='b';
|
||||
ch[3]:='c';
|
||||
ch[4]:='d'; //записываю переменные в массив
|
||||
l1: // метка для того чтобы при вводе неверного варианта что то происходило
|
||||
x:=0; //всегда обнуляй переменные при использовании циклов
|
||||
WriteLn('введи a,b,c или d');
|
||||
ReadLn(c); //считывание варианта
|
||||
for i:=1 to 4 do
|
||||
begin
|
||||
if (c<>ch[i]) then inc(x); // тут вариант сравнивается с a b c и d которые внесены в массив
|
||||
end; // если inc(x) произошло 4 раза, значит вариант не равен ничему из того что есть в массиве
|
||||
if x<>3 then
|
||||
begin
|
||||
Writeln('че?');
|
||||
goto l1; // собственно сам переход к l1 если введен неверный вариант
|
||||
end;
|
||||
WriteLn('end');
|
||||
end.
|
||||
@@ -0,0 +1,13 @@
|
||||
program множества;
|
||||
var A,B,C: set of 0..9;//0..9 значит, что значения могут быть от 0 и до 9 (включительно)
|
||||
|
||||
begin
|
||||
A:=[1,2,3];
|
||||
B:=[3,4,5];
|
||||
C:=A+B;// + объединение
|
||||
WriteLn(C);
|
||||
C:=A*B;// * пересечение
|
||||
WriteLn(C);
|
||||
C:=A-B;// - вычитание
|
||||
WriteLn(C);
|
||||
end.
|
||||
@@ -0,0 +1,25 @@
|
||||
program ranodmizer;
|
||||
Uses crt;
|
||||
var y,x,i:integer;
|
||||
const N=5;
|
||||
begin
|
||||
i:=1; //ïîïûòêè
|
||||
y:= random (10); //÷èñëî, êîòîðîå óãàäûâàåøü
|
||||
//writeln (y);
|
||||
WriteLn('Óãàäàé ÷èñëî');
|
||||
ReadLn(x); //óãàäûâàåøü
|
||||
While ((x<>y)and(i<N+1)) do //åñëè íåâåðíî
|
||||
begin
|
||||
{
|
||||
if x>y then writeln ('Áîëüøå');
|
||||
if x<y then writeln ('Ìåíüøå');
|
||||
}
|
||||
writeLn('Íåâåðíî, ïîïðîáóé åùå ðàç');
|
||||
ReadLn(x);
|
||||
inc(i); //åñëè åùå ðàç íåâåðíî,while âåðíåò ê begin
|
||||
end;
|
||||
if(x=y)then writeLn ('Ìîëîäåö');
|
||||
if not (x=y) then writeln ('Òû ïðîèãðàë');
|
||||
readkey;
|
||||
end.
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
uses crt;
|
||||
var w,a,s,d,q,e,r,t:integer;
|
||||
n:byte;
|
||||
label l1;
|
||||
begin
|
||||
l1:
|
||||
WriteLn('Ââåäèòå êîä');
|
||||
ReadLn(w);
|
||||
if w <> 536985 then WriteLn('Íåâåðíî');
|
||||
if w <> 536985 then goto l1;
|
||||
WriteLn('Óãàäàéòå ïåðâûé ñèìâîë (áóêâó) ïàðîëÿ');
|
||||
WriteLn('Èñïîëüçóéòå íîìåð áóêâû àíãëèéñêîãî àëôàâèòà');
|
||||
WriteLn('Íàïðèìåð ÷òîáû ââåñòè A ââåäèòå 1');
|
||||
ReadLn(n);
|
||||
Case n of
|
||||
1..5,7..26:WriteLn(' íåâåðíî');
|
||||
6: WriteLn('âåðíî');
|
||||
end;
|
||||
WriteLn('Óãàäàéòå 2 ñèìâîë (öèôðó) ïàðîëÿ');
|
||||
ReadLn(w);
|
||||
Case w of
|
||||
2..9:WriteLn(' íåâåðíî');
|
||||
1: WriteLn('âåðíî');
|
||||
end;
|
||||
WriteLn('Óãàäàéòå òðåòèé ñèìâîë (áóêâó) ïàðîëÿ');
|
||||
WriteLn('Èñïîëüçóéòå íîìåð áóêâû àíãëèéñêîãî àëôàâèòà');
|
||||
ReadLn(a);
|
||||
Case a of
|
||||
1..5,7..26:WriteLn(' íåâåðíî');
|
||||
6: WriteLn('âåðíî');
|
||||
end;
|
||||
WriteLn('Óãàäàéòå 4 ñèìâîë (öèôðó) ïàðîëÿ');
|
||||
ReadLn(s);
|
||||
Case s of
|
||||
2..9:WriteLn(' íåâåðíî');
|
||||
1: WriteLn('âåðíî');
|
||||
end;
|
||||
WriteLn('Óãàäàéòå ïÿòûé ñèìâîë (áóêâó) ïàðîëÿ');
|
||||
WriteLn('Èñïîëüçóéòå íîìåð áóêâû àíãëèéñêîãî àëôàâèòà');
|
||||
ReadLn(r);
|
||||
Case r of
|
||||
1..5,7..26:WriteLn(' íåâåðíî');
|
||||
6: WriteLn('âåðíî');
|
||||
end;
|
||||
WriteLn('Óãàäàéòå 6 ñèìâîë (öèôðó) ïàðîëÿ');
|
||||
ReadLn(t);
|
||||
Case t of
|
||||
1,3..9:WriteLn(' íåâåðíî');
|
||||
2: WriteLn('âåðíî');
|
||||
end;
|
||||
WriteLn('Óãàäàéòå ïÿòûé ñèìâîë (áóêâó) ïàðîëÿ');
|
||||
WriteLn('Èñïîëüçóéòå íîìåð áóêâû àíãëèéñêîãî àëôàâèòà');
|
||||
ReadLn(e);
|
||||
Case e of
|
||||
1..5,7..26:WriteLn(' íåâåðíî');
|
||||
6: WriteLn('âåðíî');
|
||||
end;
|
||||
WriteLn('Óãàäàéòå 6 ñèìâîë (öèôðó) ïàðîëÿ');
|
||||
ReadLn(q);
|
||||
Case q of
|
||||
1,3..9:WriteLn(' íåâåðíî');
|
||||
2: WriteLn('âåðíî');
|
||||
end;
|
||||
Readkey;
|
||||
end.
|
||||
Binary file not shown.
@@ -0,0 +1,31 @@
|
||||
program counter;
|
||||
uses FormsABC;
|
||||
var
|
||||
p := new Button('+');
|
||||
f2 := new FlowBreak;
|
||||
x := new IntegerField('kills:');
|
||||
f1 := new FlowBreak(20);
|
||||
m := new Button('-');
|
||||
y:integer;
|
||||
procedure plus;
|
||||
begin
|
||||
inc(y);
|
||||
x.value := y;
|
||||
end;
|
||||
|
||||
procedure minus;
|
||||
begin
|
||||
dec(y);
|
||||
x.Value := y;
|
||||
end;
|
||||
|
||||
begin
|
||||
MainForm.Title := 'Счетчик';
|
||||
MainForm.SetSize(250,200);
|
||||
MainForm.CenterOnScreen;
|
||||
mainPanel.Dock :=DockStyle.right;
|
||||
mainPanel.Width := 170;
|
||||
|
||||
p.Click += plus;
|
||||
m.Click += minus;
|
||||
end.
|
||||
@@ -0,0 +1,6 @@
|
||||
program for1;
|
||||
var i,k,n:integer;
|
||||
begin
|
||||
Read(k,n);
|
||||
For i:=1 to n do WriteLn(k);
|
||||
end.
|
||||
@@ -0,0 +1,11 @@
|
||||
program for2;
|
||||
var a,b,i,n:integer;
|
||||
begin
|
||||
Read(a,b);
|
||||
For i:=a to b do
|
||||
begin
|
||||
WriteLn(i);
|
||||
n:=n+1
|
||||
end;
|
||||
writeln('n=' , n);
|
||||
end.
|
||||
@@ -0,0 +1,6 @@
|
||||
program for3;
|
||||
var k,n,i:integer;
|
||||
begin
|
||||
Read(k,n);
|
||||
For i:=k to n do WriteLn(k);
|
||||
end.
|
||||
@@ -0,0 +1,11 @@
|
||||
program for4;
|
||||
var a,b,i,n:integer;
|
||||
begin
|
||||
read(a,b);
|
||||
For i:=a to b do
|
||||
begin
|
||||
WriteLn(i);
|
||||
inc(n);
|
||||
end;
|
||||
WriteLn(n);
|
||||
end.
|
||||
@@ -0,0 +1,11 @@
|
||||
program for5;
|
||||
var a,b,i,n:integer;
|
||||
begin
|
||||
read(a,b);
|
||||
For i:=b-1 downto a+1 do
|
||||
begin
|
||||
WriteLn(i);
|
||||
inc(n);
|
||||
end;
|
||||
WriteLn(n);
|
||||
end.
|
||||
@@ -0,0 +1,11 @@
|
||||
Program programma_kotoraia_smogla;//присваеваем имя проге
|
||||
Var x,y,z,a,b,c: Integer;//назначаем переменные и их тип
|
||||
Begin
|
||||
WriteLn ('Слышь, введи 5 цифр через пробел');// приветствие
|
||||
ReadLn(x,y,z,a,b);//считываем цифры
|
||||
c:=x-y+z*(a+b);//присваеваем значение переменной "c"
|
||||
WriteLn(c);//выводим результат
|
||||
{
|
||||
Автоподстановка открывается на ctrl+ пробел
|
||||
}
|
||||
End.
|
||||
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
Regular → Executable
+3
-1
@@ -64,7 +64,9 @@ with engine.begin() as conn:
|
||||
# SELECT
|
||||
from sqlalchemy import select
|
||||
|
||||
stmt = select(user_table).where(user_table.c.name == 'spongebob')
|
||||
stmt = select(user_table).where(user_table.c.name == 'spongebob') # Where accepts binary expression
|
||||
print('Where clause: ', user_table.c.name == 'spongebob')
|
||||
print('Type of where clause: ', type(user_table.c.name == 'spongebob'))
|
||||
with engine.connect() as conn:
|
||||
for row in conn.execute(stmt):
|
||||
print(row)
|
||||
Executable
+129
@@ -0,0 +1,129 @@
|
||||
from sqlalchemy import Column, Integer, String
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy import ForeignKey
|
||||
from sqlalchemy.orm import Session
|
||||
from sqlalchemy.orm import registry
|
||||
from sqlalchemy.orm import relationship
|
||||
|
||||
mapper_registry = registry()
|
||||
Base = mapper_registry.generate_base()
|
||||
|
||||
# from sqlalchemy.orm import declarative_base
|
||||
# Base = declarative_base()
|
||||
|
||||
|
||||
|
||||
class User(Base):
|
||||
__tablename__ = 'user_account'
|
||||
|
||||
id = Column(Integer, primary_key=True)
|
||||
name = Column(String(30))
|
||||
fullname = Column(String)
|
||||
|
||||
addresses = relationship("Address", back_populates="user")
|
||||
|
||||
def __repr__(self):
|
||||
return f"User(id={self.id!r}, name={self.name!r}, fullname={self.fullname!r})"
|
||||
|
||||
|
||||
|
||||
class Address(Base):
|
||||
__tablename__ = 'address'
|
||||
|
||||
id = Column(Integer, primary_key=True)
|
||||
email_address = Column(String, nullable=False)
|
||||
user_id = Column(Integer, ForeignKey('user_account.id'))
|
||||
|
||||
user = relationship("User", back_populates="addresses")
|
||||
|
||||
def __repr__(self):
|
||||
return f"Address(id={self.id!r}, email_address={self.email_address!r})"
|
||||
|
||||
|
||||
engine = create_engine("sqlite+pysqlite:///:memory:", future=True)
|
||||
Base.metadata.create_all(engine)
|
||||
|
||||
|
||||
session = Session(engine)
|
||||
|
||||
|
||||
# INSERT
|
||||
print('-----insert-----')
|
||||
squidward = User(name="squidward", fullname="Squidward Tentacles")
|
||||
krabs = User(name="ehkrabs", fullname="Eugene H. Krabs")
|
||||
spongebob = User(name='spongebob', fullname='Spongebob Squarepants')
|
||||
|
||||
session.add(squidward)
|
||||
session.add(krabs)
|
||||
session.add(spongebob)
|
||||
print('new: ', session.new)
|
||||
|
||||
saved_krabs = session.get(User, 2)
|
||||
print('krabs: ', saved_krabs)
|
||||
print('krabs is krabs: ', saved_krabs is krabs)
|
||||
session.commit() # All changes are applied only after commit
|
||||
|
||||
|
||||
|
||||
|
||||
# SELECT
|
||||
print('-----select-----')
|
||||
from sqlalchemy import select
|
||||
|
||||
stmt = select(User)
|
||||
first = session.execute(stmt).first()
|
||||
print(firs)
|
||||
|
||||
_all = session.execute(stmt).scalars().all()
|
||||
print(_all)
|
||||
|
||||
|
||||
|
||||
# UPDATE
|
||||
print('-----update-----')
|
||||
from sqlalchemy import update
|
||||
|
||||
# Unit of work
|
||||
squid = session.execute(select(User).filter_by(name='squidward')).scalar_one()
|
||||
print('fetched squidward: ', squid)
|
||||
squid.fullname = 'Squidward Octopus'
|
||||
print('squid modified: ', squid in session.dirty)
|
||||
print('new squid status: ', session.execute(select(User).where(User.name == 'squidward')).first())
|
||||
|
||||
# ORM enabled
|
||||
session.execute(
|
||||
update(User).
|
||||
where(User.name == "squidward").
|
||||
values(fullname="Sandy Octopus Extraordinaire")
|
||||
)
|
||||
print('Squid after bulk update: ', squid.fullname)
|
||||
|
||||
|
||||
|
||||
# DELETE
|
||||
print('-----delete-----')
|
||||
from sqlalchemy import delete
|
||||
|
||||
krabs = session.get(User, 2)
|
||||
session.delete(krabs)
|
||||
session.execute(select(User).where(User.name == "ehkrabs")).first()
|
||||
print('Krabs present: ', krabs in session)
|
||||
|
||||
# orm-enabled
|
||||
squidward = session.get(User, 1)
|
||||
session.execute(delete(User).where(User.name == "squidward"))
|
||||
print('Squidward present: ', squidward in session)
|
||||
|
||||
|
||||
|
||||
# ROLLBACK
|
||||
print('-----rollback-----')
|
||||
print(squid.__dict__)
|
||||
session.rollback()
|
||||
print(squid.__dict__)
|
||||
squid.fullname
|
||||
print(squid.__dict__)
|
||||
print('Krabs present: ', krabs in session)
|
||||
|
||||
|
||||
session.close()
|
||||
Executable
+122
@@ -0,0 +1,122 @@
|
||||
graph = {
|
||||
1: {
|
||||
2: 7,
|
||||
3: 9,
|
||||
6: 14
|
||||
},
|
||||
2: {
|
||||
1: 7,
|
||||
3: 10,
|
||||
4: 15
|
||||
},
|
||||
3: {
|
||||
1: 9,
|
||||
2: 10,
|
||||
4: 11,
|
||||
6: 2
|
||||
},
|
||||
4: {
|
||||
2: 15,
|
||||
3: 11,
|
||||
5: 6,
|
||||
},
|
||||
5: {
|
||||
4: 6,
|
||||
6: 9,
|
||||
},
|
||||
6: {
|
||||
1: 14,
|
||||
5: 9,
|
||||
3: 2
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class GraphPoint:
|
||||
def __init__(self, graph, number, routes):
|
||||
self.graph = graph
|
||||
self.number = number
|
||||
self.routes = routes
|
||||
self.visited = False
|
||||
self.minimum_range = 9999
|
||||
|
||||
|
||||
def get_unvisited_neighbours(self):
|
||||
neighbours = []
|
||||
for number in self.routes.keys():
|
||||
point = self.graph.get_point(number)
|
||||
if not point.visited:
|
||||
neighbours.append(point)
|
||||
return neighbours
|
||||
|
||||
|
||||
def get_range(self, point):
|
||||
return self.routes[point.number]
|
||||
|
||||
|
||||
def get_all_neighbours(self):
|
||||
neighbours = [self.graph.get_point(x) for x in self.routes.keys()]
|
||||
return neighbours
|
||||
|
||||
|
||||
|
||||
class Graph:
|
||||
def __init__(self, data):
|
||||
self.data = data
|
||||
self.points = {}
|
||||
|
||||
for number, routes in data.items():
|
||||
self.points[number] = GraphPoint(self, number, routes)
|
||||
|
||||
self.points[1].minimum_range = 0
|
||||
|
||||
|
||||
def get_point(self, number):
|
||||
point = self.points.get(number)
|
||||
|
||||
if point is None:
|
||||
raise ValueError(f"Graph has no point with number {number}")
|
||||
|
||||
return point
|
||||
|
||||
|
||||
|
||||
myGraph = Graph(graph)
|
||||
|
||||
|
||||
start = myGraph.get_point(1)
|
||||
queue = []
|
||||
queue.append(start)
|
||||
|
||||
|
||||
while len(queue) > 0:
|
||||
current_point = min(queue, key=lambda x: x.minimum_range)
|
||||
queue.remove(current_point)
|
||||
current_point.visited = True
|
||||
|
||||
for neighbour in current_point.get_unvisited_neighbours():
|
||||
new_range = current_point.minimum_range + current_point.get_range(neighbour)
|
||||
|
||||
if new_range < neighbour.minimum_range:
|
||||
neighbour.minimum_range = new_range
|
||||
|
||||
queue.append(neighbour)
|
||||
|
||||
|
||||
|
||||
path = []
|
||||
pos = myGraph.get_point(5)
|
||||
|
||||
|
||||
while pos != start:
|
||||
for neighbour in pos.get_all_neighbours():
|
||||
if neighbour.get_range(pos) + neighbour.minimum_range == pos.minimum_range:
|
||||
path.append(pos)
|
||||
pos = neighbour
|
||||
break
|
||||
|
||||
path.append(start)
|
||||
|
||||
for i in path[::-1]:
|
||||
print(i.number)
|
||||
# No comments here. Good l_ck!
|
||||
+176
@@ -0,0 +1,176 @@
|
||||
# Матрица смежности
|
||||
# [y][x] - существование пути (ребра) из y в x (опционально - вместо существования bool вес int)
|
||||
# При нумерации с 1 при этом методе существует несоответствие номеров узлов и индексов (индекс = номер - 1)
|
||||
graph = (
|
||||
(0, 1, 1, 0, 0, 0, 1),
|
||||
(1, 0, 1, 1, 0, 0, 0),
|
||||
(1, 1, 0, 0, 0, 0, 0),
|
||||
(0, 1, 0, 0, 1, 0, 0),
|
||||
(0, 0, 0, 1, 0, 1, 0),
|
||||
(0, 0, 0, 0, 1, 0, 1),
|
||||
(1, 0, 0, 0, 0, 1, 0)
|
||||
)
|
||||
|
||||
|
||||
# Поиск в глубину
|
||||
|
||||
visited_nodes = [0, 0, 0, 0, 0, 0, 0] # 1 - обнаружена, 2 - посещена
|
||||
|
||||
queue = [] # Список узлов, которые нужно посетить
|
||||
queue.append(0) # Стартовый узел
|
||||
|
||||
while len(queue): # Пока есть узлы, которые надо посетить
|
||||
node1 = queue.pop(-1)
|
||||
visited_nodes[node1] = 2
|
||||
|
||||
for node2 in range(6, -1, -1): # С последнего к первому. от 6 до 0 включительно
|
||||
if graph[node1][node2] == 1 and visited_nodes[node2] == 0: # Узел смежный и не обнаружен
|
||||
queue.append(node2)
|
||||
visited_nodes[node2] = 1
|
||||
|
||||
|
||||
# Поиск первого пути в невзвешенном графе (из точки 3 в 5)
|
||||
|
||||
class Edge:
|
||||
def __init__(self, begin, end):
|
||||
self.begin = begin
|
||||
self.end = end
|
||||
|
||||
def __str__(self):
|
||||
return f"Edge({self.begin + 1}, {self.end + 1})"
|
||||
|
||||
|
||||
def find_edges(graph, starting_point, stopping_point):
|
||||
visited_nodes = [0, 0, 0, 0, 0, 0, 0] # 1 - обнаружена, 2 - посещена
|
||||
edges = []
|
||||
|
||||
queue = [] # Список узлов, которые нужно посетить
|
||||
queue.append(starting_point) # Стартовый узел
|
||||
while len(queue): # Пока есть узлы, которые надо посетить
|
||||
node1 = queue.pop(-1)
|
||||
visited_nodes[node1] = 2
|
||||
print('Checking node %s' % node1)
|
||||
|
||||
for node2 in range(6, -1, -1):
|
||||
print(f'Checking path to {node2}')
|
||||
if graph[node1][node2] == 1 and visited_nodes[node2] == 0: # Узел смежный и не обнаружен
|
||||
print('Path exists and is undetected. Saving')
|
||||
|
||||
queue.append(node2)
|
||||
visited_nodes[node2] = 1
|
||||
edges.append(Edge(node1, node2))
|
||||
|
||||
if node2 == stopping_point:
|
||||
print('Found stop, returning')
|
||||
return edges
|
||||
|
||||
return edges
|
||||
|
||||
|
||||
start = 2
|
||||
req = 4
|
||||
edges = find_edges(graph, start, req)
|
||||
|
||||
print('\nResulting list: ')
|
||||
for i in edges:
|
||||
print(i)
|
||||
|
||||
print("\nPath:")
|
||||
while len(edges):
|
||||
edge = edges.pop(-1)
|
||||
if edge.end == req:
|
||||
req = edge.begin
|
||||
print(edge)
|
||||
|
||||
|
||||
|
||||
# ==================================================================
|
||||
|
||||
|
||||
|
||||
# Список смежности
|
||||
# ключ - номер узла, значение - список узлов, с которыми есть связь
|
||||
print('\n\n\n\n\n\nСписок смежности')
|
||||
|
||||
graph = {
|
||||
1: (2, 3, 7),
|
||||
2: (1, 3, 4),
|
||||
3: (1, 2),
|
||||
4: (2, 5),
|
||||
5: (4, 6),
|
||||
6: (5, 7),
|
||||
7: (1, 6)
|
||||
}
|
||||
|
||||
|
||||
# Поиск в глубину
|
||||
visited_nodes = [0, 0, 0, 0, 0, 0, 0] # 1 - обнаружена, 2 - посещена
|
||||
|
||||
queue = []
|
||||
queue.append(1)
|
||||
|
||||
while len(queue):
|
||||
node1 = queue.pop(-1)
|
||||
visited_nodes[node1 - 1] = 2
|
||||
|
||||
for node2 in graph.get(node1)[::-1]:
|
||||
# Проверка на смежность в этом методе не нужна, потому что в списке уже содержатся смежные узлы.
|
||||
if visited_nodes[node2 - 1] == 0:
|
||||
visited_nodes[node2 - 1] = 1
|
||||
queue.append(node2)
|
||||
|
||||
|
||||
|
||||
# Поиск первого пути в невзвешенном графе (из точки 3 в 5)
|
||||
|
||||
class Edge:
|
||||
def __init__(self, begin, end):
|
||||
self.begin = begin
|
||||
self.end = end
|
||||
|
||||
def __str__(self):
|
||||
return f"Edge({self.begin}, {self.end})"
|
||||
|
||||
|
||||
def find_edges(graph, starting_point, stopping_point):
|
||||
visited_nodes = [0, 0, 0, 0, 0, 0, 0] # 1 - обнаружена, 2 - посещена
|
||||
|
||||
queue = []
|
||||
queue.append(starting_point)
|
||||
edges = []
|
||||
|
||||
while len(queue):
|
||||
node1 = queue.pop(-1)
|
||||
visited_nodes[node1 - 1] = 2
|
||||
print(f'Checking node {node1}')
|
||||
|
||||
for node2 in graph.get(node1)[::-1]:
|
||||
print(f'Checking existing path to {node2}')
|
||||
# Проверка на смежность в этом методе не нужна, потому что в списке уже содержатся смежные узлы.
|
||||
if visited_nodes[node2 - 1] == 0:
|
||||
print('Path is undetected. Saving')
|
||||
|
||||
visited_nodes[node2 - 1] = 1
|
||||
queue.append(node2)
|
||||
edges.append(Edge(node1, node2))
|
||||
|
||||
if node2 == stopping_point:
|
||||
print('Found stop, returning')
|
||||
return edges
|
||||
|
||||
return edges
|
||||
|
||||
|
||||
start = 3
|
||||
req = 5
|
||||
edges = find_edges(graph, start, req)
|
||||
print('\nResulting list: ')
|
||||
for i in edges:
|
||||
print(i)
|
||||
|
||||
print("\nPath:")
|
||||
while len(edges):
|
||||
edge = edges.pop(-1)
|
||||
if edge.end == req:
|
||||
req = edge.begin
|
||||
print(edge)
|
||||
+178
@@ -0,0 +1,178 @@
|
||||
# Матрица смежности
|
||||
# [y][x] - существование пути (ребра) из y в x (опционально - вместо существования bool вес int)
|
||||
# При нумерации с 1 при этом методе существует несоответствие номеров узлов и индексов (индекс = номер - 1)
|
||||
graph = (
|
||||
(0, 1, 1, 0, 0, 0, 1),
|
||||
(1, 0, 1, 1, 0, 0, 0),
|
||||
(1, 1, 0, 0, 0, 0, 0),
|
||||
(0, 1, 0, 0, 1, 0, 0),
|
||||
(0, 0, 0, 1, 0, 1, 0),
|
||||
(0, 0, 0, 0, 1, 0, 1),
|
||||
(1, 0, 0, 0, 0, 1, 0)
|
||||
)
|
||||
|
||||
|
||||
# Поиск в ширину
|
||||
|
||||
visited_nodes = [0, 0, 0, 0, 0, 0, 0] # 1 - обнаружена, 2 - посещена
|
||||
|
||||
queue = [] # Список узлов, которые нужно посетить
|
||||
queue.append(0) # Стартовый узел
|
||||
|
||||
while len(queue): # Пока есть узлы, которые надо посетить
|
||||
node1 = queue.pop(0)
|
||||
visited_nodes[node1] = 2
|
||||
|
||||
for node2 in range(7):
|
||||
if graph[node1][node2] == 1 and visited_nodes[node2] == 0: # Узел смежный и не обнаружен
|
||||
queue.append(node2)
|
||||
visited_nodes[node2] = 1
|
||||
|
||||
|
||||
|
||||
# Поиск кратчайшего пути в невзвешенном графе (из точки 3 в 5)
|
||||
|
||||
class Edge:
|
||||
def __init__(self, begin, end):
|
||||
self.begin = begin
|
||||
self.end = end
|
||||
|
||||
def __str__(self):
|
||||
return f"Edge({self.begin + 1}, {self.end + 1})"
|
||||
|
||||
|
||||
def find_edges(graph, starting_point, stopping_point):
|
||||
visited_nodes = [0, 0, 0, 0, 0, 0, 0] # 1 - обнаружена, 2 - посещена
|
||||
edges = []
|
||||
|
||||
queue = [] # Список узлов, которые нужно посетить
|
||||
queue.append(starting_point) # Стартовый узел
|
||||
while len(queue): # Пока есть узлы, которые надо посетить
|
||||
node1 = queue.pop(0)
|
||||
visited_nodes[node1] = 2
|
||||
print('Checking node %s' % node1)
|
||||
|
||||
for node2 in range(7):
|
||||
print(f'Checking path to {node2}')
|
||||
if graph[node1][node2] == 1 and visited_nodes[node2] == 0: # Узел смежный и не обнаружен
|
||||
print('Path exists and is undetected. Saving')
|
||||
|
||||
queue.append(node2)
|
||||
visited_nodes[node2] = 1
|
||||
edges.append(Edge(node1, node2))
|
||||
|
||||
if node2 == stopping_point:
|
||||
print('Found stop, returning')
|
||||
return edges
|
||||
|
||||
return edges
|
||||
|
||||
|
||||
start = 2
|
||||
req = 4
|
||||
edges = find_edges(graph, start, req)
|
||||
|
||||
print('\nResulting list: ')
|
||||
for i in edges:
|
||||
print(i)
|
||||
|
||||
print("\nPath:")
|
||||
while len(edges):
|
||||
edge = edges.pop(-1)
|
||||
if edge.end == req:
|
||||
req = edge.begin
|
||||
print(edge)
|
||||
|
||||
|
||||
|
||||
|
||||
# ==================================================================
|
||||
|
||||
|
||||
|
||||
# Список смежности
|
||||
# ключ - номер узла, значение - список узлов, с которыми есть связь
|
||||
print('\n\n\n\n\n\nСписок смежности')
|
||||
|
||||
graph = {
|
||||
1: (2, 3, 7),
|
||||
2: (1, 3, 4),
|
||||
3: (1, 2),
|
||||
4: (2, 5),
|
||||
5: (4, 6),
|
||||
6: (5, 7),
|
||||
7: (1, 6)
|
||||
}
|
||||
|
||||
|
||||
# Поиск в ширину
|
||||
visited_nodes = [0, 0, 0, 0, 0, 0, 0] # 1 - обнаружена, 2 - посещена
|
||||
|
||||
queue = []
|
||||
queue.append(1)
|
||||
|
||||
while len(queue):
|
||||
node1 = queue.pop()
|
||||
visited_nodes[node1 - 1] = 2
|
||||
|
||||
for node2 in graph.get(node1):
|
||||
# Проверка на смежность в этом методе не нужна, потому что в списке уже содержатся смежные узлы.
|
||||
if visited_nodes[node2 - 1] == 0:
|
||||
visited_nodes[node2 - 1] = 1
|
||||
queue.append(node2)
|
||||
|
||||
|
||||
|
||||
# Поиск кратчайшего пути в невзвешенном графе (из точки 3 в 5)
|
||||
|
||||
class Edge:
|
||||
def __init__(self, begin, end):
|
||||
self.begin = begin
|
||||
self.end = end
|
||||
|
||||
def __str__(self):
|
||||
return f"Edge({self.begin}, {self.end})"
|
||||
|
||||
|
||||
def find_edges(graph, starting_point, stopping_point):
|
||||
visited_nodes = [0, 0, 0, 0, 0, 0, 0] # 1 - обнаружена, 2 - посещена
|
||||
|
||||
queue = []
|
||||
queue.append(starting_point)
|
||||
edges = []
|
||||
|
||||
while len(queue):
|
||||
node1 = queue.pop(0)
|
||||
visited_nodes[node1 - 1] = 2
|
||||
print(f'Checking node {node1}')
|
||||
|
||||
for node2 in graph.get(node1):
|
||||
print(f'Checking existing path to {node2}')
|
||||
# Проверка на смежность в этом методе не нужна, потому что в списке уже содержатся смежные узлы.
|
||||
if visited_nodes[node2 - 1] == 0:
|
||||
print('Path is undetected. Saving')
|
||||
|
||||
visited_nodes[node2 - 1] = 1
|
||||
queue.append(node2)
|
||||
edges.append(Edge(node1, node2))
|
||||
|
||||
if node2 == stopping_point:
|
||||
print('Found stop, returning')
|
||||
return edges
|
||||
|
||||
return edges
|
||||
|
||||
|
||||
start = 3
|
||||
req = 5
|
||||
edges = find_edges(graph, start, req)
|
||||
print('\nResulting list: ')
|
||||
for i in edges:
|
||||
print(i)
|
||||
|
||||
print("\nPath:")
|
||||
while len(edges):
|
||||
edge = edges.pop(-1)
|
||||
if edge.end == req:
|
||||
req = edge.begin
|
||||
print(edge)
|
||||
Executable
+40
@@ -0,0 +1,40 @@
|
||||
class car:
|
||||
name = "None"
|
||||
weight = 1000
|
||||
speed = 200
|
||||
|
||||
#__init__ нужен, чтобы сразу задать объекту нужные параметры
|
||||
#Инициализация при создании
|
||||
def __init__(self, name, weight, speed):
|
||||
self.name = name
|
||||
self.weight = weight
|
||||
self.speed = speed
|
||||
print(f"{self.name} едет со скоростью {self.speed}")
|
||||
|
||||
#self необходим для того, Чтобы отличать методы от функций, которые не привязаны к какому-то классу/объекту,
|
||||
#поддерживать полиморфизм. Self - это что-то типа параметра метода.
|
||||
def set(self, name, weight, speed):
|
||||
self.name = name
|
||||
self.weight = weight
|
||||
self.speed = speed
|
||||
|
||||
#Класс наследник создаётся так:
|
||||
class truck(car):
|
||||
wheels = 8
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
|
||||
man = truck()
|
||||
man.wheels = 12
|
||||
print(man.wheels)
|
||||
#классы - наследники имеют доступ к методам из оригинального класса
|
||||
man.set(weight = 10000, name = "Man", speed = 200)
|
||||
|
||||
Audi = car("Audi", 2000, 320)
|
||||
Audi.set(weight = 2000, name = "Audi", speed = 320)
|
||||
print(Audi.name)
|
||||
|
||||
Shkoda = car("Shkoda", 1800, 235)
|
||||
Shkoda.set(weight = 1800, name = "Shkoda", speed = 235)
|
||||
print (Shkoda.name)
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#Можно подключить только 1 функцию из модуля
|
||||
from random import randint as random
|
||||
print(random(1,20))
|
||||
Executable
+16
@@ -0,0 +1,16 @@
|
||||
#Подключение модуля, связанного с математикой
|
||||
import math
|
||||
#as позволяет в будущем использовать модуль при помощи псевдонима
|
||||
import random as r
|
||||
|
||||
|
||||
|
||||
#вывод числа e
|
||||
print(math.e)
|
||||
#вывод числа пи
|
||||
print(math.pi)
|
||||
#вывод косинуса
|
||||
print(math.cos(30))
|
||||
|
||||
|
||||
print(r.randint(0, 20))
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
num = int (input ("Number: "))
|
||||
|
||||
#Операции с переменными в if: >, <, ==, !=, >=, <=
|
||||
if num > 0:
|
||||
print('Положительное')
|
||||
#Elif это следующий if, который выполняется если предыдущей неверный.
|
||||
elif num == 0:
|
||||
print('Равно 0')
|
||||
#Else выплняется если ни if, ни один из elseif не являются верными
|
||||
else:
|
||||
print('Отрицательное')
|
||||
|
||||
input()
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
#сложение
|
||||
print (2+3)
|
||||
|
||||
#вычитание
|
||||
print (6-8)
|
||||
|
||||
#умножение
|
||||
print (6*2)
|
||||
|
||||
#деление
|
||||
print (9/3)
|
||||
|
||||
#возведение в степень
|
||||
print (3**5)
|
||||
|
||||
#деление без остатка
|
||||
print (11//3)
|
||||
|
||||
#Остаток деления
|
||||
print(3%2)
|
||||
+55
@@ -0,0 +1,55 @@
|
||||
name = "Oleg"
|
||||
|
||||
#К строковым переменным применимы действия, подразумевающие порядок расположения
|
||||
print(f'длина {len(name)}')
|
||||
print(f'Буква {name[0]}')
|
||||
|
||||
#Методы, уникальные для строк:
|
||||
print(name.find('le')) #Поиск позиции
|
||||
Fname = name.replace('eg', 'ga') #Замена позиции
|
||||
print(Fname)
|
||||
print(name.upper()) #Преобразование регистра
|
||||
print(name.isalpha()) #Проверяет, все ли символы - буквы
|
||||
print('214'.isdigit()) #Проверяет, все ли символы - цифры
|
||||
|
||||
#f нужна, чтобы выводить переменные
|
||||
print(f'My name is {name}')
|
||||
|
||||
#Но можно обойтись и без неё
|
||||
print("My name is", name)
|
||||
|
||||
#input значит, что переменной присвоятся введенные с клавиатуры данные
|
||||
#("") после input выводит надпись, прямо после которой будет осуществляться ввод (Enter: 4)
|
||||
#Чтобы надпись не выводилась, скобки нужно оставить пустыми. Но сами скобки обязательны
|
||||
num = input("Enter1: ")
|
||||
num2 = input("Enter2: ")
|
||||
#здесь вводятся данные типа string, поэтому при использовании + они присоединяются
|
||||
res = num + num2
|
||||
print(res)
|
||||
|
||||
|
||||
#для использования integer нужно использовать int()
|
||||
num = int(input("Enter1: "))
|
||||
num2 = int( input("Enter2: "))
|
||||
res = num + num2
|
||||
print(res)
|
||||
|
||||
|
||||
#float() позволяет вводить десятичные числа
|
||||
num = float(input("Enter1: "))
|
||||
num2 = float( input("Enter2: "))
|
||||
res = num + num2
|
||||
print(res)
|
||||
|
||||
|
||||
# += 20 - прибавить 20 к переменной, так же и с остальными действиями
|
||||
res += 20
|
||||
print(f'E1+E2+20={res}')
|
||||
res = num + num2
|
||||
res -= 20
|
||||
print(f'E1+E2-20={res}')
|
||||
|
||||
print(res)
|
||||
res -= 1
|
||||
print(res)
|
||||
input()
|
||||
@@ -0,0 +1,2 @@
|
||||
print(int(bin(11), 2))
|
||||
#число в двоичной системе (bin(11)) преобразовывается в целое число с указанием основы системы (2)
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
#Слева указать спецификаторы после знака %, справа указать то, на что эти спецификаторы заменить
|
||||
#d = десятичное число, s = строка
|
||||
formating = "That's %d %s bird" % (1, "dead")
|
||||
print(formating)
|
||||
|
||||
x = 1234
|
||||
#%[(name)][flags][width][.precision]спец
|
||||
# name = ключ в словаре. При указании * для width и precision значение возьмётся из элемента в списке входных значений
|
||||
#-10 = отступ слева. при указании отриц. числа превращается в отступ справа
|
||||
#06 = поле становится равным 6 и добавляются вводные нули вместо отсутпа
|
||||
res = "integers: ...%d...%-10d...%06d" % (x, x, x)
|
||||
print(res)
|
||||
|
||||
#f = вещественное число
|
||||
#. используется для определения кол-ва знаков после запятой
|
||||
res = "%f...%.2f" % (1/3.0, 1/3.0)
|
||||
print(res)
|
||||
|
||||
#Использование словаря:
|
||||
formating = "%(number)d %(text)s" % {"number" : 1, "text" : "spam"}
|
||||
print("\n", formating)
|
||||
|
||||
#*****************************************Методы форматирования*****************************************
|
||||
|
||||
#Могут использоваться именованные аргументы или номера аргументов
|
||||
template = "{motto}, {0} and {food}"
|
||||
print(template.format("ham", motto="spam", food="eggs"))
|
||||
|
||||
import sys
|
||||
#Для ссылки на объект в словаре необходимо указать положение словаря в списке входных значений (1) и ключ объекта в квадратных скобках [spam]
|
||||
#Для ссылки на атрибут объекта нужно применить точку (.platform)
|
||||
template = "My {1[spam]} runs {0.platform}".format(sys, {"spam": "laptop"})
|
||||
print(template)
|
||||
|
||||
somelist = list("spam")
|
||||
#Использование отрицательных значений внутри строки формата приводит к ошибке
|
||||
#Также нельзя создавать срезы внутри строки формата
|
||||
#Поэтому объект нужно указать вне строки. |
|
||||
template = "first = {0[0]}, last = {1}".format(somelist, somelist[-1])
|
||||
print(template)
|
||||
|
||||
#Синтаксис точного форматирования: {fieldname!conversionflag:formatspec}
|
||||
#Синтаксис formatspec: [[fill]align][sign][#][0][width][.precision][typecode] (В квадратных скобках необязательные компоненты)
|
||||
#< = выравнивание слева, > = выравнивание справа
|
||||
print("\n{0:>10} = {1:<10}".format("spam", 123.4567))
|
||||
|
||||
#Извлечение значения из списка аргументов:
|
||||
print("{0:.{1}f}".format(3.14159, 2))
|
||||
Executable
+75
@@ -0,0 +1,75 @@
|
||||
#В списки можно втроить другие списки
|
||||
#Индекс первого элемента - 0
|
||||
lis = [23, 15, 's', ['h', 'e', '1',]]
|
||||
print(lis)
|
||||
print(lis[2])
|
||||
print(lis[3])
|
||||
print(lis[3][1])
|
||||
print("\n")
|
||||
|
||||
|
||||
for i in lis:
|
||||
print(i)
|
||||
|
||||
|
||||
for i in range(0, 4):
|
||||
lis[i] *= 2
|
||||
print(lis)
|
||||
|
||||
#Добавление элемента в список
|
||||
lis.append(2011)
|
||||
print(lis)
|
||||
|
||||
#Удаление элемента из списка
|
||||
#по значению
|
||||
lis.remove(46)
|
||||
print(lis)
|
||||
#по индексу
|
||||
lis.pop(0)
|
||||
print(lis)
|
||||
|
||||
#Вставка элемента в определённое место
|
||||
#1 - индекс, 9 - элемент
|
||||
lis.insert(1, 9)
|
||||
print(lis)
|
||||
|
||||
#Узнать индекс элемента
|
||||
print(lis.index(9))
|
||||
|
||||
#Вывод элементов в конце списка
|
||||
print("Индекс числа", lis[-1]," = ", lis.index(2011))
|
||||
|
||||
#Вывод определённой части списка (Среза) (Старт:финиш:шаг)
|
||||
print(lis[1:-2:1])
|
||||
print(lis[2:])
|
||||
print(lis[2:len(lis)])
|
||||
|
||||
#Очистка списка
|
||||
lis.clear()
|
||||
print(lis)
|
||||
|
||||
#В списки можно вкладывать списки, тем самым создавая матрицы
|
||||
M = [[1, 2, 3],
|
||||
[4, 5, 6],
|
||||
[7, 8, 9]]
|
||||
print('\n', M)
|
||||
|
||||
#Генератор, возвращающий суммы элементов строк
|
||||
G = (sum(elements) for elements in M)
|
||||
#Вызов в соответствии с протоколом итераций
|
||||
print(next(G))
|
||||
print(next(G))
|
||||
#То же, но по другому
|
||||
summ = list(map(sum, M))
|
||||
print(summ)
|
||||
|
||||
#Вывод столбца
|
||||
#Получить элементы row[1] из каждой строки матрицы M исоздать из них новый список
|
||||
#Здесь переменной row присваивается элемент списка M (который сам является списком), а переменной col2
|
||||
#присваивается 2 элемент списка row. И так для каждого элемента списка M.
|
||||
col2 = [row[1] for row in M]
|
||||
print(col2)
|
||||
|
||||
#Генератор списков
|
||||
doubles = [c * 2 for c in 'spam']
|
||||
print(doubles)
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
#Кортежи можно вводить в круглых скобках, без скобок, или словом tuple
|
||||
a = (23, 16, 'Hi')
|
||||
print(a)
|
||||
|
||||
a = 24, 17, 'qq'
|
||||
print(a)
|
||||
|
||||
a = tuple ('Hello')
|
||||
print(a)
|
||||
|
||||
#В кортежах нельзя менять отдельные символы. Только выводить
|
||||
print(a[1])
|
||||
Executable
+38
@@ -0,0 +1,38 @@
|
||||
#Множества создаются при помощи set
|
||||
#В множествах нет повторяющихся элементов
|
||||
#Также есть frozenset, он создаёт множества, которые нельзя менять (как кортежи)
|
||||
a = set('hello')
|
||||
print(a)
|
||||
|
||||
#Множества также можно создать при помощи фигурных скобок, не используя set
|
||||
a = {'h', 'e', 'l', 'o'}
|
||||
print(a)
|
||||
|
||||
"""
|
||||
С множествами можно выполнять множество операций: находить объединение, пересечение...
|
||||
|
||||
len(s) - число элементов в множестве (размер множества).
|
||||
x in s - принадлежит ли x множеству s.
|
||||
set.isdisjoint(other) - истина, если set и other не имеют общих элементов.
|
||||
set == other - все элементы set принадлежат other, все элементы other принадлежат set.
|
||||
set.issubset(other) или set <= other - все элементы set принадлежат other.
|
||||
set.issuperset(other) или set >= other - аналогично.
|
||||
set.union(other, ...) или set | other | ... - объединение нескольких множеств.
|
||||
set.intersection(other, ...) или set & other & ... - пересечение.
|
||||
set.difference(other, ...) или set - other - ... - множество из всех элементов set, не принадлежащие ни одному из other.
|
||||
set.symmetric_difference(other); set ^ other - множество из элементов, встречающихся в одном множестве, но не встречающиеся в обоих.
|
||||
set.copy() - копия множества.
|
||||
И операции, непосредственно изменяющие множество:
|
||||
|
||||
set.update(other, ...); set |= other | ... - объединение.
|
||||
set.intersection_update(other, ...); set &= other & ... - пересечение.
|
||||
set.difference_update(other, ...); set -= other | ... - вычитание.
|
||||
set.symmetric_difference_update(other); set ^= other - множество из элементов, встречающихся в одном множестве, но не встречающиеся в обоих.
|
||||
set.add(elem) - добавляет элемент в множество.
|
||||
set.remove(elem) - удаляет элемент из множества. KeyError, если такого элемента не существует.
|
||||
set.discard(elem) - удаляет элемент, если он находится в множестве.
|
||||
set.pop() - удаляет первый элемент из множества. Так как множества не упорядочены, нельзя точно сказать, какой элемент будет первым.
|
||||
set.clear() - очистка множества.
|
||||
set.sort() - сортировка по возрастанию
|
||||
set.reverse() - сортировка по убыванию
|
||||
"""
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#Словари могут вводиться в фигурных скобках
|
||||
s = {'число': 24, 'надпись': 'inscription'}
|
||||
print(s['число'])
|
||||
|
||||
#.keys и .values возвращают итерируемые объекты. Для получения списков нужно использовать list()
|
||||
print(list(s.keys()), s.values())
|
||||
|
||||
#Могут при помощи dict.
|
||||
d = dict(lazy="q", hardworking="Greetings")
|
||||
print(d['lazy'])
|
||||
|
||||
#Могут при помощи dictfromkeys. При этом всем ключам присваивается одно значение. Его можно и не указывать
|
||||
f = dict.fromkeys(['a', 'b', 'c'], 1)
|
||||
print(f)
|
||||
|
||||
#D = dict(zip(keyslist, valslist))
|
||||
var_zip = dict(zip(['food', 'tool'], ['spam', 'wrench']))
|
||||
print(var_zip)
|
||||
|
||||
#Генератор словарей
|
||||
D = {k: v for (k, v) in zip(['food', 'tool'], ['SPAM', 'WRENCH'])}
|
||||
print(D)
|
||||
|
||||
#in позволяет проверить наличие ключа в словаре
|
||||
if not 'd' in f:
|
||||
print('В словаре f нет элемента с ключём d')
|
||||
|
||||
#get возвращает элемент словаря, а если его нет - указанное значение
|
||||
print(f.get('x', 20))
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
spam
|
||||
egg
|
||||
Italia
|
||||
Executable
BIN
Binary file not shown.
Executable
+2
@@ -0,0 +1,2 @@
|
||||
41,42,43
|
||||
[1, 5, 10]&{'food': 'spam', 'tool': 'wrench'}
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
#Файл нельзя называть pickle
|
||||
|
||||
import pickle
|
||||
|
||||
#Сохранение объектов в файлах при помощи pickle
|
||||
F = open("obj.pkl", "wb")
|
||||
D = {'meal': 'burger', 'genius': 'heiakim'}
|
||||
pickle.dump(D, F)
|
||||
F.close()
|
||||
|
||||
#Чтение объектов
|
||||
F = open('obj.pkl', 'rb')
|
||||
print(pickle.load(F))
|
||||
Executable
+84
@@ -0,0 +1,84 @@
|
||||
#создание файлов. w - write
|
||||
text_file = open('data_file.txt', 'w')
|
||||
|
||||
#Запись в файл
|
||||
text_file.write('Hello\n')
|
||||
text_file.write('World')
|
||||
|
||||
#Закрытие файла
|
||||
text_file.close()
|
||||
|
||||
#По умолчанию файлы открываются в режиме r - read
|
||||
text_file = open('data_file.txt')
|
||||
|
||||
#Чтение из файла. (в скобках можно указать кол-во символов для чтения)
|
||||
print(text_file.read())
|
||||
|
||||
print('\n')
|
||||
|
||||
#Чтение одной строки. (в скобках можно указать кол-во символов для чтения)
|
||||
text_file = open('data_file.txt')
|
||||
S = text_file.readline()
|
||||
S = text_file.readline()
|
||||
print(S)
|
||||
|
||||
print('\n')
|
||||
|
||||
#Чтение файла в список строк
|
||||
text_file = open('data_file.txt')
|
||||
L = text_file.readlines()
|
||||
print(L)
|
||||
|
||||
print('\n')
|
||||
|
||||
#Запись строк из списка в файл
|
||||
text_file = open('data_file.txt', 'w')
|
||||
tmp_list = ['spam\n', 'egg\n', 'Italia']
|
||||
text_file.writelines(tmp_list)
|
||||
|
||||
text_file = open('data_file.txt')
|
||||
print(text_file.read())
|
||||
|
||||
|
||||
print('\n****************')
|
||||
|
||||
#Итератор файла
|
||||
text_file = open('data_file.txt')
|
||||
for S in text_file:
|
||||
print(S * 2)
|
||||
|
||||
print('****************\n')
|
||||
|
||||
#Изменяет текущую позицию в файле для следующей операции, смещая ее на N байтов от начала файла.
|
||||
text_file = open('data_file.txt')
|
||||
text_file.seek(7)
|
||||
print(text_file.read())
|
||||
|
||||
print('\n')
|
||||
|
||||
#Запись объектов
|
||||
objects = open('objects.txt', 'w')
|
||||
L = [1, 5, 10]
|
||||
X, Y, Z = 41, 42, 43
|
||||
D = {'food': 'spam', 'tool': 'wrench'}
|
||||
objects.write('{0},{1},{2}\n'.format(X, Y, Z))
|
||||
objects.write(str(L) + '&' + str(D) + '\n')
|
||||
objects = open('objects.txt')
|
||||
print(objects.read())
|
||||
|
||||
#Чтение объектов
|
||||
objects = open('objects.txt')
|
||||
line = objects.readline()
|
||||
#Удаление символа конца строки
|
||||
line = line.rstrip()
|
||||
print(line)
|
||||
|
||||
numbers = line.split(',')
|
||||
L = [int(x) for x in numbers]
|
||||
print(L)
|
||||
|
||||
line = objects.readline()
|
||||
line = line.rstrip()
|
||||
elements = line.split('&')
|
||||
result = [eval(x) for x in elements]
|
||||
print(result)
|
||||
Executable
+21
@@ -0,0 +1,21 @@
|
||||
def nok (a,b):
|
||||
c=a
|
||||
d=b
|
||||
ia=1
|
||||
ib=1
|
||||
|
||||
while c != d:
|
||||
if c < d:
|
||||
ia += 1
|
||||
c = a*ia
|
||||
else:
|
||||
ib+=1
|
||||
d = b*ib
|
||||
|
||||
print(c, d)
|
||||
return c
|
||||
|
||||
z = int(input('a: '))
|
||||
x = int(input('b: '))
|
||||
nok(z, x)
|
||||
input()
|
||||
Executable
+88
@@ -0,0 +1,88 @@
|
||||
import operator
|
||||
import functools
|
||||
prime = [2, 3]
|
||||
|
||||
def simple(a):
|
||||
num = a[-1]+1
|
||||
tr = False
|
||||
while tr != True:
|
||||
for i in range(2, num):
|
||||
if num%i == 0:
|
||||
tr = False
|
||||
num += 1
|
||||
break
|
||||
else:
|
||||
tr = True
|
||||
a.append(num)
|
||||
# print(f'В список добавлено число {num}')
|
||||
|
||||
|
||||
|
||||
def NOK(x,y):
|
||||
if x > y:
|
||||
difx = True
|
||||
else:
|
||||
difx=False
|
||||
|
||||
arrayx=[]
|
||||
arrayy=[]
|
||||
counter=0
|
||||
while x!=1:
|
||||
for i in range(counter, len(prime)):
|
||||
if prime[i]>(x/2):
|
||||
arrayx.append(x)
|
||||
x=1
|
||||
break
|
||||
if x%prime[i]==0:
|
||||
x //= prime[i]
|
||||
arrayx.append(prime[i])
|
||||
counter=0
|
||||
i=0
|
||||
break
|
||||
|
||||
if (x>1) and (i==(len(prime)-1)):
|
||||
simple(prime)
|
||||
counter=i
|
||||
|
||||
counter=0
|
||||
while y!=1:
|
||||
for i in range(counter, len(prime)):
|
||||
if prime[i]>(y/2):
|
||||
arrayy.append(y)
|
||||
y=1
|
||||
break
|
||||
if y%prime[i]==0:
|
||||
y//=prime[i]
|
||||
arrayy.append(prime[i])
|
||||
counter=0
|
||||
i=0
|
||||
break
|
||||
|
||||
if (y>1) and (i==(len(prime)-1)):
|
||||
simple(prime)
|
||||
counter=i
|
||||
|
||||
print(arrayx, arrayy)
|
||||
|
||||
count_ax = 0
|
||||
y_second = list(arrayy)
|
||||
x_second = list(arrayx)
|
||||
for i in range(0, len(arrayy)):
|
||||
for for_x in range(0, len(x_second)):
|
||||
if arrayy[i] == x_second[for_x]:
|
||||
y_second.remove(arrayy[i])
|
||||
x_second.remove(arrayy[i])
|
||||
break
|
||||
|
||||
|
||||
result_array = y_second + arrayx
|
||||
result = functools.reduce(operator.mul, result_array, 1)
|
||||
print(result_array, result)
|
||||
return result
|
||||
|
||||
|
||||
|
||||
first = int(input())
|
||||
second = int(input())
|
||||
print(NOK(first,second))
|
||||
input()
|
||||
Executable
+33
@@ -0,0 +1,33 @@
|
||||
# Функции создаются при помощи def Имя (Список параметров)
|
||||
|
||||
#В тройных кавычках содержится описание функции
|
||||
def division (dividend, divisor):
|
||||
"""Делит делимое на делитель"""
|
||||
if divisor != 0:
|
||||
z = dividend/divisor
|
||||
#return возвращает результат функции. Без него результатом будет None
|
||||
#также есть pass, при использовании которого функция ничего не возвращает
|
||||
return z
|
||||
else:
|
||||
print('На 0 делить нельзя')
|
||||
|
||||
#Просмотр описания функции
|
||||
print(division.__doc__)
|
||||
|
||||
print(division(18,6))
|
||||
|
||||
def gcd(a, b):
|
||||
"Нахождение НОД"
|
||||
while a != 0:
|
||||
a,b = b%a,a # параллельное определение. Не смотря на то, что b написано после a, переменной b всё равно присваивается старое значение a
|
||||
print(a,b)
|
||||
print(b)
|
||||
return b
|
||||
gcd(2,3)
|
||||
|
||||
|
||||
#вместо списка параметров можно написать *args, тогда кол-во параметров определится само
|
||||
def test(*args):
|
||||
print(args)
|
||||
pass
|
||||
test(23, "hi", 4221)
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
mult = lambda x, y: x * y
|
||||
print(mult(2, 5))
|
||||
@@ -0,0 +1,35 @@
|
||||
prime = [2, 3]
|
||||
print(prime)
|
||||
|
||||
|
||||
|
||||
num = prime[-1]+1
|
||||
tr = False
|
||||
while tr != True:
|
||||
for i in range(2, num):
|
||||
if num%i == 0:
|
||||
tr = False
|
||||
print(num, i, tr)
|
||||
num += 1
|
||||
break
|
||||
else:
|
||||
tr = True
|
||||
print(num, i, tr)
|
||||
|
||||
prime.append(num)
|
||||
|
||||
|
||||
|
||||
for z in range(1, 1500):
|
||||
num = prime[-1]+1
|
||||
tr = False
|
||||
while tr != True:
|
||||
for i in range(2, (num//2)):
|
||||
if num%i == 0:
|
||||
tr = False
|
||||
num += 1
|
||||
break
|
||||
else:
|
||||
tr = True
|
||||
prime.append(num)
|
||||
print(prime)
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#Здесь переменная f объявляется сразу в цикле
|
||||
#В данном цикле f присваивается каждый элемент из множества символов, заданных после in
|
||||
for f in 'Hi!':
|
||||
print (f * 2)
|
||||
|
||||
#for с числами. Последнее число не обрабатывается: будет идти от 10 до 19
|
||||
#range (Старт, финиш, шаг)
|
||||
for k in range(10, 20):
|
||||
print (k)
|
||||
Executable
+6
@@ -0,0 +1,6 @@
|
||||
#Переменная создаётся до цикла
|
||||
i = 0
|
||||
#Цикл выполняется, пока условие является истинным.
|
||||
while i < 10:
|
||||
print(i)
|
||||
i += 2
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 320 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 74 KiB |
@@ -0,0 +1,106 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<link href="2_поток.css" rel="stylesheet" type="text/css">
|
||||
<title>Документ без названия</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="valentine">
|
||||
<div class="inside">
|
||||
<img src="images/img02.jpg" width="190" height="196" class="FL">
|
||||
<h1 class="valentine_text">valentine</h1>
|
||||
<p class="templates">BY FREE CSS TEMPLATES</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu">
|
||||
<div class="inside">
|
||||
<ul class="menu_list FL">
|
||||
<li><img class="heart" src="images/img03.jpg" width="11" height="10" /><a href="#">HOME</a></li>
|
||||
<li><img class="heart" src="images/img03.jpg" width="11" height="10" /><a href="#">ARTICLE</a></li>
|
||||
<li><img class="heart" src="images/img03.jpg" width="11" height="10" /><a href="#">BLOGS</a></li>
|
||||
<li><img class="heart" src="images/img03.jpg" width="11" height="10" /><a href="#">ABOUT US</a></li>
|
||||
<li><img class="heart" src="images/img03.jpg" width="11" height="10" /><a href="#">CONTACTS</a></li>
|
||||
<li><img class="heart" src="images/img03.jpg" width="11" height="10" /><a href="#">R33</a></li>
|
||||
</ul>
|
||||
<div class="text_input FR">
|
||||
<input type="text" class="field">
|
||||
<input type="button" value="GO" class="GO">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="inside">
|
||||
<div class="content_left FL">
|
||||
<img class="FL title_heart" src="images/img06.jpg" width="19" height="16" />
|
||||
<p class="categories">categories</p>
|
||||
<div class="left_line"></div>
|
||||
<ul class="left_list">
|
||||
<li><a href="#">Aliquam libero</a></li>
|
||||
<li><a href="#">Consectetuer elit</a></li>
|
||||
<li><a href="#">Metus pelentesque</a></li>
|
||||
<li><a href="#">Suspendisse mauris</a></li>
|
||||
<li><a href="#">Urnanet molestie semper</a></li>
|
||||
<li><a href="#">Prcin orci porttitor</a></li>
|
||||
</ul>
|
||||
|
||||
<img class="FL title_heart" src="images/img06.jpg" width="19" height="16" />
|
||||
<p class="categories">archives</p>
|
||||
<div class="left_line"></div>
|
||||
<ul class="left_list">
|
||||
<li><a href="#">September</a> (23)</li>
|
||||
<li><a href="#">August</a> (31)</li>
|
||||
<li><a href="#">July</a> (31)</li>
|
||||
<li><a href="#">June</a> (30)</li>
|
||||
<li><a href="#">May</a> (31)</li>
|
||||
</ul>
|
||||
|
||||
<img class="FL title_heart" src="images/img06.jpg" width="19" height="16" />
|
||||
<p class="categories">lorem ipsum dolor</p>
|
||||
<div class="left_line"></div>
|
||||
<ul class="left_list">
|
||||
<li><a href="#">Aliquam libero</a></li>
|
||||
<li><a href="#">Consectetuer elit</a></li>
|
||||
<li><a href="#">Metus pellentesque</a></li>
|
||||
<li><a href="#">Suspendisse mauris</a></li>
|
||||
<li><a href="#">Urnanet molestie semper</a></li>
|
||||
<li><a href="#">Proin orci porttitor</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="content_right FR">
|
||||
<div class="content_blocks top_block">
|
||||
<img class="FL title_heart" src="images/img06.jpg" width="19" height="16" />
|
||||
<p class="categories">Welcome to Valentine</p>
|
||||
<div class="right_line"></div>
|
||||
|
||||
<img class="FL tulips" src="images/img09.jpg" width="170" height="120" />
|
||||
<p class="text">This is Valentine, a free, fully standards-compliant CSS template designed by <a href="#">Free CSS Templates</a>. The photos in this design are from <a href="#">PDPhoto.org</a></p>
|
||||
<p class="text">This free template is released under a <a href="#">Creative Commons Attrbutions 2.5</a> license, so you're pretty much free to do whatever you want with it (even use it commercially) provided you keep the links in the focter intact. Aside from that, have fun with it :) This design is also available as a <a href="#">WordPress theme</a> at <a href="#">Free Wordpress Themes</a>.</p>
|
||||
<div class="content_bottom_line"></div>
|
||||
<p class="text posted">Posted on November 5, 2007 by <a href="#">Someone</a> | <a href="#">32 comments</a></p>
|
||||
</div>
|
||||
<div class="content_blocks bottom_block">
|
||||
<img class="FL title_heart" src="images/img06.jpg" width="19" height="16" />
|
||||
<p class="categories">Blandit volutpat consequat</p>
|
||||
<div class="right_line"></div>
|
||||
|
||||
<p class="text">Proin nec magna. Proin nec massa sit amet purus congue molestie. Aliquam erat volutpat. Nulla pellentesque dolor non tellus. Duis vel elit sit amet ipsum vehical varius. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse rhoncus. Nunc est. Present interdum lectus quis neque. Aliquam eros. Julia fermentum dolor eget mi. Cras diam sapien, auctor non, malesuada at, tristique id, dui. Aenean congue ante.</p>
|
||||
<p class="text">Aenean congue ante. Prom nec magna tempus lorem ipsum dolor.</p>
|
||||
<p class="text">Proin nec magna. Proin nec massa sit amet purus congue molestie. Aliquam erat volutpat. Nulla pellentesque dolor non tellus. Duis vel elit sit amet ipsum vehicula varius. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae.</p>
|
||||
|
||||
<div class="content_bottom_line"></div>
|
||||
<p class="text posted">Posted on November 5, 2007 by <a href="#">Someone</a> | <a href="#">32 comments</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="footer" align="center">
|
||||
<div class="last_line CB"></div>
|
||||
<p class="text copyright FL">Copyright (c) 2007 Website name. All right reserved</p>
|
||||
<p class="text designed FR">Designed by <a href="#">Free CSS Templates</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,215 @@
|
||||
@charset "utf-8";
|
||||
/* CSS Document */
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.FL {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.FR {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.CB {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #f72d63;
|
||||
}
|
||||
|
||||
.valentine {
|
||||
height: 196px;
|
||||
background-image: url(images/img01.jpg);
|
||||
}
|
||||
|
||||
.inside {
|
||||
margin: 0 auto;
|
||||
width: 900px;
|
||||
}
|
||||
|
||||
.valentine_text {
|
||||
margin: 0;
|
||||
padding-top: 50px;
|
||||
font-size: 50px;
|
||||
color: #f74b61;
|
||||
}
|
||||
|
||||
.templates {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #f74b61;
|
||||
font-size: 12px;
|
||||
font-family: Arial;
|
||||
letter-spacing: -1px;
|
||||
}
|
||||
|
||||
.menu {
|
||||
background-image: url(images/menu_img.jpg);
|
||||
height: 54px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.heart {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.menu_list {
|
||||
margin: 0;
|
||||
padding-top: 17px;
|
||||
}
|
||||
|
||||
.menu_list li {
|
||||
display: inline;
|
||||
margin-right: 25px;
|
||||
}
|
||||
|
||||
.menu_list li a {
|
||||
color: white;
|
||||
font-family: Arial;
|
||||
font-size: 11px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.text_input {
|
||||
margin-top: 13px;
|
||||
}
|
||||
|
||||
.field {
|
||||
width: 130px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.GO {
|
||||
margin-right: 10px;
|
||||
width: 34px;
|
||||
height: 23px;
|
||||
background-color: #f74b61;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding-top: 20px;
|
||||
background-color: #ffdbe1;
|
||||
width: 100%;
|
||||
height: 900px;
|
||||
}
|
||||
|
||||
.content_left {
|
||||
width: 250px;
|
||||
}
|
||||
|
||||
.title_heart {
|
||||
margin-right: 5px;
|
||||
margin-left: 10px;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.categories {
|
||||
color: #f62d47;
|
||||
font-size: 24px;
|
||||
font-family: Arial;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.left_line {
|
||||
width: 250px;
|
||||
height: 1px;
|
||||
border-top: 1px dotted #fa8496;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.left_list {
|
||||
margin-top: 25px;
|
||||
margin-left: 35px;
|
||||
margin-bottom: 40px;
|
||||
list-style: url(images/img07.gif)
|
||||
}
|
||||
|
||||
.left_list li {
|
||||
margin-bottom: 5px;
|
||||
color: #f27293;
|
||||
}
|
||||
|
||||
.content_right {
|
||||
width: 603px;
|
||||
}
|
||||
|
||||
.content_blocks {
|
||||
padding-top: 5px;
|
||||
background-color: #fecbd4;
|
||||
margin-top: 13px;
|
||||
width: 603px;
|
||||
margin-bottom: 20px;
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
.top_block {
|
||||
height: 340px;
|
||||
}
|
||||
|
||||
.bottom_block {
|
||||
height: 390px;
|
||||
}
|
||||
|
||||
.right_line {
|
||||
width: 603px;
|
||||
height: 0px;
|
||||
border-top: 7px solid #f74b61;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.tulips {
|
||||
margin-left: 10px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.text {
|
||||
margin-left: 10px;
|
||||
color: #f27291;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.text a {
|
||||
color: #f82d47;
|
||||
}
|
||||
|
||||
.content_bottom_line {
|
||||
width: 603px;
|
||||
height: 1px;
|
||||
border-top: 1px dotted #fa8496;
|
||||
margin-top: 45px;
|
||||
}
|
||||
|
||||
.posted {
|
||||
margin-top: 7px;
|
||||
}
|
||||
|
||||
.last_line {
|
||||
width: 1000px;
|
||||
height: 20px;
|
||||
border-bottom: 5px solid #fa8597
|
||||
}
|
||||
|
||||
.copyright {
|
||||
margin-left: 50px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.designed {
|
||||
margin-right: 50px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
.footer{
|
||||
margin: 0 auto;
|
||||
width: 1000px;
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 44 B |
Binary file not shown.
|
After Width: | Height: | Size: 3.0 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user