vanyakhan409
09.05.2021 04:15

Напишите класс Голубь (Pigeon), экземпляр p которого инициализируется с аргументами: имя (строка), дальность полёта и грузоподъёмность (целые числа). Класс реализует (инкапсулирует) функциональность:

str(p) — возвращает своё имя в формате Pigeon <имя>, <грузоподъёмность>;

p.eat(food) — подкрепляется. За каждые 10 порций еды грузоподъёмность увеличивается на 1. Если количество порций не кратно 10, остаток хранится в запасе и может быть учтён при следующей еде. Ничего не возвращает;

p.carry(load, range) — проверяет, может ли он донести переданный в качестве аргумента груз на заданную дальность. Возвращает True, если может, и False, если хоть что-то меньше;

p.flap_wings() — машет крыльями. При каждом вызове меняется возвращаемое значение: то up, то down. Первый раз up;

экземпляры класса можно сравнивать. Сначала сравниваются по грузоподъёмности, потом по дальности, потом по длине имени, потом по алфавиту.

Пример 1

Ввод Вывод

from solution import Pigeon

p = Pigeon('Johnas', 100, 10)

print(p)

print(p.flap_wings())

print(p.flap_wings())

print(p.flap_wings())

p.eat(25)

print(p)

print(p.carry(100, 13))
Вывод:

Pigeon Johnas, 10

up

down

up

Pigeon Johnas, 12

False

Пример 2

Ввод Вывод

from solution import Pigeon

p1 = Pigeon('Johnas', 100, 10)

p2 = Pigeon('Calman', 100, 10)

print(p1, p2, sep='\n')

print(p1 > p2)

p2.eat(13)

print(p1 >= p2)

p1.eat(42)

p2.eat(7)

print(p1, p2, sep='\n')

print(p1.carry(90, 15))
Вывод:

Pigeon Johnas, 10

Pigeon Calman, 10

True

False

Pigeon Johnas, 14

Pigeon Calman, 12

False

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Корни
08.07.2022 19:36
' QBASIC
CONST n = 10
DIM a(1 TO n) AS DOUBLE, b(1 TO n) AS DOUBLE, x(1 TO n) AS DOUBLE
RANDOMIZE TIMER
CLS
FOR i = 1 TO n
   a(i) = 50 * RND - 25
   b(i) = 50 * RND - 25
   IF a(i) <> 0 THEN
      x(i) = b(i) / a(i)
   ELSE
      x(i) = 0
   END IF
   PRINT USING "###."; a(i);
   PRINT " * ";
   PRINT USING "###."; x(i);
   PRINT " = ";
   PRINT USING "###."; b(i)
NEXT i

Тестовое решение:
-14.65854 *   0.53867 =  -7.89606
-14.19729 *   1.08311 = -15.37722
-17.21156 *  -0.07488 =   1.28888
 16.17024 *  -1.09750 = -17.74690
-13.80126 *  -1.06180 =  14.65417
 17.78583 *   0.83055 =  14.77207
-10.95534 *  -1.58899 =  17.40791
-11.84992 *   1.66222 = -19.69714
-24.91831 *  -0.95948 =  23.90864
-12.68757 *   0.84160 = -10.67785
0,0(0 оценок)
Ответ:
staslukutin
10.07.2021 02:31
Var A,B: array [1..10,1..10] of integer; 
i, j, n: integer;
begin
Randomize;writeln('Введите размерность n');readln(n);writeln('Матрица А');
for i:=1 to n do begin
for j:=1 to n do  begin
A[i,j]:= random(10)+1;write(A[i,j]:3);end;writeln;end;
writeln('Матрица B');
for i:=1 to n do begin
for j:=1 to n do  begin
B[i,j]:= random(10)+2;write(B[i,j]:3);end;writeln;end;
writeln('ответ: матрица AB');
for i:=1 to n do
for j:=1 to n do  begin C[i,j]:=(A[i,j]*B[i,j]);end;writeln;
for i:=1 to n do  begin
for j:=1 to n do  begin
write(C[i,j]:3);end; writeln;end;
writeln('ответ :матрица ВА');
for i:=1 to n do
for j:=1 to n do begin D[i,j]:=(B[i,j]*A[i,j]);end; 
for i:=1 to n do begin
for j:=1 to n do begin
write(D[i,j]:3);end; writeln;end;
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота