Информатика, вопрос задал rweyurrkkew , 2 года назад

Python Code
Довольно легкие задачки, даю за них 40 баллов

1. Перевірити, чи рядок є паліндромом. Паліндром - рядок, який читається в дві сторни однаково. Наприклад 1001, або 121.

2. Розгляньте масив/список овець, де деякі овець можуть бути відсутні на своєму місці. Нам потрібна функція, яка підраховує кількість овець у масиві (true означає наявність).


Наприклад


[True, True, True, False,

True, True, True, True ,

True, False, True, False,

True, False, False, True ,

True, True, True, True ,

False, False, True, True]


Правильною відповіддю буде 17.


3. Напишіть функцію, яка приймає невід’ємне ціле число як вхідні дані та повертає список усіх ступенів 2 із показником степеня від 0 до n( включно ).


Наприклад

n = 0 ==> [1] # [2^0]

n = 1 ==> [1, 2] # [2^0, 2^1]

n = 2 ==> [1, 2, 4] # [2^0, 2^1, 2^2]


4. Напишіть функцію, яка приймає список і повертає список у зворотному порядку.


Наприклад

[1, 2, 3, 4] -> [4, 3, 2, 1]

[9, 2, 0, 7] -> [7, 0, 2, 9]


5. Наша футбольна команда завершила чемпіонат. Результат кожного збігу виглядає як «x:y». Результати всіх матчів фіксуються в збірнику.


Наприклад: ["3:1", "2:2", "0:1"]


Напишіть функцію, яка приймає такий збір і підраховує очки нашої команди в чемпіонаті. Правила підрахунку очок за кожен матч:


якщо x > y: 3 бали

якщо x < y: 0 балів

якщо x = y: 1 бал


6. Написати функцію, яка приймає рядок і повертає той же рядок, але заміняє:

5 -> S

1 -> I

0 -> O

Ответы на вопрос

Ответил Zergloing
0

Ответ:

1)

word = input()

if word == word[::-1]:

   print('Является')

else:

   print('Не является')

2)

def func(n: list) -> int:

   return n.count(True)

3)

def func(number: int) -> list:

   otv = []

   for i in range(0, number + 1):

       otv.append(2 ** i)

   return otv

4)

def func(n: list) -> list:

   return list(reversed(n))

5)

def func(n: list) -> int:

   k = 0

   for num in n:

       num = list(map(int, num.split(':')))

       if num[0] > num[-1]:

           k += 3

       elif num[0] == num[-1]:

           k += 1

   return k

6)

def func(n: str) -> str:

   n = n.replace('5', 'S')

   n = n.replace('1', 'I')

   n = n.replace('0', 'O')

   return n

Объяснение:

1) Если строка не равна своему обратному написанию, то это не палиндром.

2) Просто подсчитываем количество "True" в списке.

3) В цикле for перебираем значения от 0 до n включительно. В список otv добавляются степени 2 до n включительно. Далее список возвращается.

4) Принимаем список и возвращаем в обратном порядке.

5) Перебираем каждый элемент списка в цикле for. Далее, каждый элемент списка преобразовываем в список строк без ":". Затем проверяем всё по условию и возвращаем значение счётчика (k).

6) Принимаем строку, далее, используя функцию replace, заменяем всё по условию и возвращаем изменённую строчку.


Zergloing: Если мой ответ вас удовлетворил, то, пожалуйста, отметьте его как "Лучший ответ".
Новые вопросы