Решить в Python-е 1)В области 12 районов. Известны количество жителей (в тысячах человек) и площадь (в км2) каждого района. Определить среднюю плотность населения по области в целом. Решить задачу используя циклическую конструкцию for.
2) Мой богатый дедушка подарил мой первый день рождения. Каждый день рождения Анны воевал свой подарок столько долларов, сколько лет мне исполнилось. Написать программу, указывающие, какому дню рождения подарок превысит 100$.
GraphABC;
const
a=30;
var
xt,yt,x,y,i,j,t,xl,yl:integer;
procedure cross(x,y,a:integer);
begin;
setpencolor(clred);
line(x,y,x-a,y+a);
line(x-a,y,x,y+a);
setpencolor(clblack);
end;
begin;
randomize;
x:=windowwidth-300;
y:=0;
for i:=1 to 10 do
begin;
for j:=1 to 10 do
begin;
rectangle(x,y,x+a,y+a);
x+=a;
end;
y+=a;
x:=windowwidth-300;
end;
x:=random(1,10);
y:=random(1,10);
t:=0;
while t<>10 do
begin;
readln(xt);
readln(yt);
if (xt<>x) and (yt<>y) then
begin;
xl:=windowwidth+xt*30-300;
yl:=300-yt*30;
cross(xl,yl,a);
inc(t);
end;
if (xt=x) or (yt=y) then
begin;
xl:=windowwidth+xt*30-305;
yl:=300-yt*30+4;
floodfill(xl,yl,clBlue);
inc(t);
end;
if (xt=x) and (yt=y) then
begin;
xl:=windowwidth+xt*30-305;
yl:=300-yt*30+4;
floodfill(xl,yl,clRed);
writeln('Ты выиграл!');
break;
end;
end;
if t=10 then
begin;
writeln('Ты проиграл!');
xl:=windowwidth+x*30-305;
yl:=300-y*30+4;
floodfill(xl,yl,clRed);
end;
end.
uses
System.Text.RegularExpressions;
begin
var s:=' - 32 / - 21 ';
s:=RegEx.Replace(s,'\s','');
var a:=RegEx.Matches(s,'(-{0,1}\d+)|[\+\-\*/]');
var n:=a.Count;
var x,y:integer;
var c:char;
case n of
3:begin
x:=StrToInt(a[0].ToString); y:=StrToInt(a[2].ToString);
c:=a[1].ToString[1]
end;
2:begin
x:=StrToInt(a[0].ToString); var s1:=a[1].ToString;
c:=s1[1]; s1[1]:='0'; y:=StrToInt(s1)
end;
else
begin Writeln('Недопустимое выражение'); exit end
end;
WriteFormat('{0} {1} {2} = ',x,c,y);
case c of
'+':Writeln(x+y);
'-':Writeln(x-y);
'*':Writeln(x*y);
'/':Writeln(x/y)
end
end.
Тестовое решение:
-32 / -21 = 1.52380952380952
// PascalABC.NET 3.0, сборка 1128
begin
var s:='4km-549_ffb)5)6';
var t:=s.Where(x->x in ['0'..'9']).JoinIntoString('');
var n:int64;
if TryStrToInt64(t,n) then Writeln(2*n)
else Writeln('Не удалось выделить число')
end.
Тестовое решение:
909912