123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- import math
- '''
- Оформление кода
- https://pythonchik.ru/osnovy/imenovanie-v-python
- Функция - именованный блок кода который выполняет определенную
- задачу или возвращает значение.
- Функция - набор операторов, которые возвращают некоторое значение
- вызывающему объекту. В функцию также может быть передано ноль или
- более аргументов, которые могут использоваться при выполнении тела функции.
- def f():
- print("QWERTY")
- def f():
- print("ABC")
- f()
- f()
- Выведет:
- ABC
- ABC
- Функция перезатрет первую def f()
- Любая функция в python возвращает значение. Значение возвращается при
- помощи оператора return. Если функция не содержит оператор return,
- то по умолчанию такая функция вернет значение None.
- Функция должна выполнять только одну операцию. Она должна выполнять ее
- хорошо. И ничего другого она делать не должна. Если функция выполняет
- только те действия, которые находятся на одном уровне под объявленным
- именем функции, то эта функция выполняет одну операцию.
- Будьте последовательны в выражениях возврата: либо все операторы return
- в функции должны возвращать выражение, либо ни один из них не должен.
- Если какой-либо оператор return возвращает выражение, то оставшиеся
- операторы return тоже должны явно возвращать значение, не смотря на то,
- что python по умолчанию возвращает None.
- '''
- def get_reverse(data: str):
- return data[-1::-1]
- def generate_n_chars(n, s):
- return s*n
- def print_histogram(data):
- for i in data:
- print('*'*i)
- def count_words(data):
- ret = 0
- for i in data.strip().split(' '):
- if i != '':
- ret += 1
- return ret
- # Является ли год високосным
- def is_leap(year):
- return (year%4 == 0 and year%100 != 0) or year%400 == 0
- # Проверка строки на полиндром
- def is_palindrome(value):
- formated_string = ''
- revers_string = ''
- for char in value.lower():
- if char != ' ':
- formated_string += char
- revers_string = formated_string[::-1]
- return revers_string == formated_string
- # Возвращает число високосных лет в заданном диапазоне
- def count_leap_years(y1, y2):
- number = 0
- for year in range(y1, y2):
- if is_leap(year):
- number += 1
- return number
- # Возвращает список високосных годов в заданном диапазоне
- def get_leap_years(y1, y2):
- leap_years = []
- for year in range(y1, y2):
- if is_leap(year):
- leap_years.append(year)
- return leap_years
- # Создание палиндрома
- def create_palindrome(value):
- if is_palindrome(value):
- return value.lower()
- ret = ''
- ret = value + '_i_' + value[::-1]
- return ret.lower()
- # Сравнение строк
- def is_strings_equal(st1, st2):
- return sorted(st1) == sorted(st2)
- #
- def is_dunder(st):
- return st.startswith('__') and st.endswith('__') and \
- len(st) >= 6 and st[2:-2].isalpha()
- def main():
- # print_histogram([1, 2, 3])
- # print(test_1('hello'))
- # print(count_words(' hello bro '))
- # print(is_palindrome("Never Odd or Even"))
- # print(is_palindrome("qwerty"))
- # print(count_leap_years(2021, 2021))
- # print(get_leap_years(1990, 2021))
- # print(is_strings_equal('afdsa', 'aasdfa'))
-
- if __name__ == '__main__':
- main()
|