Skip to content

Instantly share code, notes, and snippets.

@ElenaMalysheva
Created October 21, 2022 14:24
Show Gist options
  • Save ElenaMalysheva/d538eedd6789f3c9713b3f66fc7d7707 to your computer and use it in GitHub Desktop.
Save ElenaMalysheva/d538eedd6789f3c9713b3f66fc7d7707 to your computer and use it in GitHub Desktop.
# Задайте список из нескольких чисел. Напишите программу,
# которая найдёт сумму элементов списка, стоящих на нечётной позиции.
#
# Пример:
#
# - [2, 3, 5, 9, 3] -> на нечётных позициях элементы 3 и 9, ответ: 12
#
# def is_zero_waste(a):
# if a%2 != 0:
# return True
# else:
# return False
#
# def create_new_list(mylist):
# new_list = []
# for i in range(len(mylist)):
# if is_zero_waste(i):
# new_list.append(mylist[i])
# return new_list
#
# def count_sum(mlist):
# result = 0
# list_for_sum = create_new_list(mlist)
# for i in range(len(list_for_sum)):
# result = result + list_for_sum[i]
# return result
#
# my_list = [2, 3, 5, 9, 3]
# print("Сумма чисел в первой задаче:")
# print((count_sum(my_list)))
# -------------------------------------------------------------------------------------
# Напишите программу, которая найдёт произведение пар чисел списка.
# Парой считаем первый и последний элемент, второй и предпоследний и т.д.
#
# Пример:
#
# - [2, 3, 4, 5, 6] => [12, 15, 16];
# - [2, 3, 5, 6] => [12, 15]
# def count_intersection(mylist):
# j = -1
# len_of_list = is_ostatok_zero(mylist)
# for i in range(len_of_list):
# dop = mylist[i] * mylist[j]
# print(dop)
# j = j - 1
#
# def is_ostatok_zero(mlist):
# if len(mlist)%2 == 0:
# return int(len(mlist)/2)
# else: return int(len(mlist)//2 + 1)
#
# my_list =[2, 3, 4, 5, 6]
# print("Произведение чисел во второй задаче:")
# count_intersection(my_list)
# -------------------------------------------------------------------------------------
# Задайте список из вещественных чисел. Напишите программу, которая найдёт разницу между максимальным
# и минимальным значением дробной части элементов.
#
# Пример:
#
# - [1.1, 1.2, 3.1, 5, 10.01] => 0.19
import math
#
# def find_max(mylist):
# result_max = mylist[0]
# for i in range(len(mylist)):
# if mylist[i] > result_max:
# result_max = mylist[i]
# return result_max
#
# def find_min(mylist):
# result_min = mylist[0]
# for i in range(len(mylist)):
# if mylist[i] < result_min:
# result_max = mylist[i]
# return result_min
#
# def find_difference(mlist):
#
# return abs(round(round(find_max(mlist)%1, 2) - round(find_min(mlist)%1, 2), 2))
#
# my_list = [1.1, 1.2, 3.1, 5, 10.01]
# print(find_difference(my_list))
# -------------------------------------------------------------------------------------------------------------
# Напишите программу, которая будет преобразовывать десятичное число в двоичное.
#
# Пример:
#
# - 45 -> 101101
# - 3 -> 11
# - 2 -> 10
#
# n = 45
#
#
# bin_n = []
# while n > 0:
# dop = n%2
# bin_n.append(dop)
# n = n//2
# bin_n.reverse()
# print(bin_n)
# -------------------------------------------------------------------------------------------------------------
# Задайте число. Составьте список чисел Фибоначчи, в том числе для отрицательных индексов.
#
# Пример: для k = 8 список будет выглядеть так: [-21 ,13, -8, 5, −3, 2, −1, 1, 0, 1, 1, 2, 3, 5, 8, 13, 21]
def fib(n: int) -> list:
if n == 1:
return [1]
elif n == 2:
return [1, 1]
li = fib(n-1)
li.append(li[-1] + li[-2])
return li
print(fib(8))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment