Помогите с задачами на пайтон
1. Реализовать рекурсивную функцию возведения элементов в степень. Функция принимает два параметра х и у.
Функция должна вернуть реузльтат в виде возведения числа х в степень у
2. Реализовать рекурсивную функцию для нахождения последовательности Фибоначчи. Функция принимает один параметр, она должна вернуть результат конечной суммы.
Последовательность Фиббоначи -элементы числовой последовательности 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,…
в которой первые два числа равны 0 и 1, а каждое последующее число равно сумме двух предыдущих чисел.
Подсказка:
Если число равно 0, то возвращаем 0
Если число равно 1, то возвращаем 1
В ином случае возвращаем рекурсию в виде сумме двух предыдущих чисел.
3. 3.Напишите функцию, которая отображает пустой или
заполненный квадрат из некоторого символа. Функция
принимает в качестве параметров: длину стороны квадрата, символ и переменную логического типа:
■ если она равна True, квадрат заполненный;
■ если False, квадрат пустой.
4. Сделать игру угадай число через функции.
5. Напишите функцию, вычисляющую произведение ВСЕХ элементов вложенных списков целых чисел(размер массива m на n. Список передаётся в качестве параметра. Полученный результат возвращается из функции
6. Напишите функцию, вычисляющую сумму ВСЕХ элементов вложенных списков целых чисел(размер массива m на n. Список передаётся в качестве параметра. Полученный результат возвращается из функции
Answers & Comments
Ответ:
1. def power(x, y):
if y == 0:
return 1
else:
return x * power(x, y - 1)
2.
def fibonacci(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fibonacci(n - 1) + fibonacci(n - 2)
3
def square(side, symbol, filled):
for i in range(side):
for j in range(side):
if filled or i == 0 or j == 0 or i == side - 1 or j == side - 1:
print(symbol, end=' ')
else:
print(' ', end=' ')
print()
4.
import random
def guess_number():
secret_number = random.randint(1, 100)
tries = 0
while True:
guess = int(input('Угадайте число от 1 до 100: '))
tries += 1
if guess == secret_number:
print(f'Вы угадали число за {tries} попыток!')
break
elif guess < secret_number:
print('Загаданное число больше!')
else:
print('Загаданное число меньше!')
def main():
play_again = True
while play_again:
guess_number()
play_again = input('Хотите сыграть еще? (Да/Нет)').lower() == 'да'
if __name__ == '__main__':
main()
5.
def multiply_lists(lst):
result = 1
for sublist in lst:
for num in sublist:
result *= num
return result
6
def sum_lists(lst):
result = 0
for sublist in lst:
for num in sublist:
result += num
return result
Надеюсь, эти решения помогут вам в вашей работе с Python!