«Этот лис, кажется, и за человека меня не считает», – подумал Нильс и что было силы дёрнул лиса за хвост. От неожиданности Смирре выпустил гуся. Всего только на секунду. Гусь рванулся вверх и, тяжело взмахивая помятыми крыльями, полетел к озеру.
– Ах, так Смирре. – Ну, ладно же!
И Смирре попробовал было схватить Нильса. Но это было не так-то легко – Нильс крепко, обеими руками, держался за его хвост.
Смирре прыгнул вправо, а хвост повернулся влево.
Смирре прыгнул влево, а хвост повернулся вправо.
Смирре кружился, как волчок, но и хвост кружился вместе с ним, а вместе с хвостом и Нильс.
Напишите функцию circle_tail(), которая будет определять, за кем победа в каждом раунде.
Для этого нужно для каждой введенной строки находить символы, которые в этой строке встречаются в словах до разделителя ##, но не встречаются после него.
Функция может принимать произвольное число аргументов-строк и произвольное число именованных аргументов.
Если именованные аргументы не переданы, то функция просто возвращает список кортежей, в которых для каждой строки определены: (суммарное количество слов в каждой части строки, символы, которые встречаются в словах первой части, но не встречаются в словах второй).
Если передан именованный аргумент in_order и он имеет значение True, то кортежи в списке, а также буквы в кортеже, должны быть упорядочены по возрастанию. Если значение False, то по убыванию.
Если передан именованный параметр shift, то сначала всю строку нужно сдвинуть влево на количество позиций, равное значению этого аргумента (то есть столько символов из начала строки переставить в конец).
Ввод
data = ['This Fox does not even seem to think##I am human', 'Nils thought##pulled the Foxs tail as hard as he could', 'In surprise Smirre released the goose.##Just for a second.']
print(*circle_tail(*data), sep="\n")
Вывод
(11, 'vFsextTiokd')
(11, 'gN')
(10, 'mlSghpiI')
var
c, a: array[1..20] of integer;
i: integer;
begin
write('Первый массив ');
for i := 1 to 20 do begin
c[i] := i * (-5);
write(c[i], ' ');
end;
writeln;
write('Преобразованный массив ');
for i := 1 to 20 do begin
a[i] := c[20 - i + 1];
write(a[i], ' ');
end;
end.
ИЛИ Программа не использующая два массива, а просто переворачивающая первый
var
c: array[1..20] of integer;
i: integer;
begin write('Первый массив ');
for i := 1 to 20 do begin
c[i] := i * (-5);
write(c[i], ' ');
end;
writeln;
write('Преобразованный массив ');
for i := 20 downto 1 do write(c[i], ' ');
end.
Обе программы работают!
10000x4000x500x30x4
Цифры числа расположены в определенных позициях, которые соответствуют (справа налево) единицам, десяткам, сотням, тысячам и так далее. Определите название позиции и ее значение для каждой цифры (справа налево).
Пример: так как в данном числе четыре цифры, то вам нужно определить названия четырех позиций (справа налево).
7 соответствует единицам (значение = 1).
2 соответствует десяткам (значение = 10).
8 соответствует сотням (значение = 100).
5 соответствует тысячам (значение = 1000).