Напишите функцию square()
, которая принимает на вход число и:
def square01(x):
"""
Parameters:
x, integer or float.
Returns:
x squared.
"""
return x ** 2
y = square01(8)
print(y)
64
def square02(x):
"""
Parameters:
x, integer or float.
Prints a number x squared.
"""
print("Квадрат числа равен:", x ** 2)
return
y = square02(8)
print(y)
Квадрат числа равен: 64 None
def square03(x):
"""
Parameters:
x, integer or float.
Returns:
x squared.
Prints x squared.
"""
print("Квадрат числа равен:", x ** 2)
return x ** 2
y = square03(8)
print(y)
Квадрат числа равен: 64 64
Напишите функцию nums()
, которая принимает на вход целое число, а возвращает список из двух элементов: целое число, предшествующее принятому на вход, и число, следующее за ним.
Пример:
Входные данные:
7
Выходные данные:
[6, 8]
def nums(n):
"""
Parameters:
n, an integer.
Returns:
a list of two integers n-1 and n+1.
"""
return [n-1, n+1]
L = nums(9)
print(L)
[8, 10]
Напишите функцию str_lower()
, которая принимает на вход строку (набор слов через пробел), а возвращает список ее элементов в нижнем регистре.
Пример:
Входные данные:
"В лесу родилась ёлочка В лесу она росла"
Выходные данные:
['в', 'лесу', 'родилась', 'ёлочка', 'в', 'лесу', 'она', 'росла']
def str_lower(text):
"""
Parameters:
text, a string.
Returns:
a list of words, all lowercase.
"""
new = text.lower()
return new.split()
print(str_lower("В лесу родилась ёлочка В лесу она росла"))
['в', 'лесу', 'родилась', 'ёлочка', 'в', 'лесу', 'она', 'росла']
Напишите функцию my_log()
, которая принимает на вход список чисел, и возвращает список их натуральных логарифмов. Если число меньше или равно 0, на его месте в возвращаемом списке должно быть None.
Пример:
Входные данные:
[1, 3, 2.5, -1, 9, 0, 2.71]
Выходные данные:
[0.0,
1.0986122886681098,
0.9162907318741551,
None,
2.1972245773362196,
None,
0.9969486348916096]
from math import log
def my_log(L):
"""
Parameters:
L, a list of float or integer numbers.
Returns:
a list of natural logarithms
(None for non-postivie values).
"""
R = []
for i in L:
if i > 0:
R.append(log(i))
else:
R.append(None)
return R
print(my_log([1, 3, 2.5, -1, 9, 0, 2.71]))
[0.0, 1.0986122886681098, 0.9162907318741551, None, 2.1972245773362196, None, 0.9969486348916096]
Напишите функцию binom_prob()
, которая считает вероятность того, что проведя n
испытаний Бернулли с вероятностью успеха p
, мы получим ровно k
успехов. Эта функция принимает на вход три аргумента: p
, n
и k
и возвращает такой результат:
$P(X = k) = C_n^k \cdot p^k \cdot (1-p)^{n-k}$.
def factorial(n):
"""
Parameters:
n, an integer
Returns:
factorial of n.
"""
f = 1
for i in range(2, n + 1):
f *= i
return f
def binom_coef(n, k):
coef = factorial(n) // (factorial(k) * factorial(n-k))
return coef
def binom_prob(n, k, p):
P = binom_coef(n, k) * p ** k * (1-p) ** (n-k)
return P
print(binom_prob(10, 2, 0.5))
0.0439453125