<jupyter_start><jupyter_text>Задание к занятию «Python, git»  Задание 1Даны 2 строки long_phrase и short_phrase. Напишите код, который проверяет действительно ли длинная фраза long_phrase длиннее короткой short_phrase. И выводит True или False в зависимости от результата сравненияlong_phrase = 'Насколько проще было бы писать программы, если бы не заказчики'short_phrase = '640Кб должно хватить для любых задач. <NAME> (по легенде)'<jupyter_code>def compare_string_length(str1, str2):
    '''Сравнивает длину двух строк.
    Если строка str1 больше str2 то возвращает True, иначе False
    '''
    if len(str1) > len(str2):
        return True
    else:
        return False
# Исходные данные
long_phrase = 'Насколько проще было бы писать программы, если бы не заказчики'
short_phrase = '640Кб должно хватить для любых задач. <NAME> (по легенде)'
# Проверка работы функции
print(compare_string_length(long_phrase, short_phrase)) # True
print(compare_string_length(short_phrase, long_phrase)) # False<jupyter_output><empty_output><jupyter_text>Задание 2Дана строка text. Определите какая из двух букв встречается в нем чаще - 'а' или 'и'.text = 'Если программист в 9-00 утра на работе, значит, он там и ночевал'P.S. Вам может помочь метод replace.<jupyter_code>def check_symbol_freq(str, symb1, symb2):
    '''Проверяет какая из букв symb1 или symb2 встречается чаще в строке str
    Возвращает символ с наибольшим чиллом вхождением 
    '''
    symb1_str_len = len(str.replace(symb1, ''))
    symb2_str_len = len(str.replace(symb2, ''))
    return symb1 if symb2_str_len > symb1_str_len else symb2

# Исходные данные
text = 'Если программист в 9-00 утра на работе, значит, он там и ночевал'
# Проверка работ функции
print("Чаще встречается: " + check_symbol_freq(text, 'а','е')) # 'а'<jupyter_output>Чаще встречается: а<jupyter_text>Задание 3Дано значение объема файла в байтах. Напишите перевод этого значения в мегабайты в формате: 'Объем файла равен 213.68Mb'<jupyter_code>file_sizeof_mb = 213.68
print("Объем файла равен %.2fMb" % (file_sizeof_mb))<jupyter_output>Объем файла равен 213.68Mb<jupyter_text>Задание 4Выведите на экран значение синуса 30 градусов с помощью метода math.sin.<jupyter_code># Импортируем модуль math
import math
# Выводим синус 30 градусов
print('Синус 30 градусов: ', math.sin(math.radians(30)))<jupyter_output>Синус 30 градусов:  0.49999999999999994<jupyter_text>Задание 5В прошлом задании у вас скорее всего не получилось точного значения 0.5 из-за конечной точности вычисления синуса. Но почему некоторые простые операции также могут давать неточный результат? Попробуйте вывести на экран результат операции 0.1 + 0.2<jupyter_code># Неточности связаны с особенностью работы процессора и представлением данных (в двоичном формате)
print(0.1 + 0.2)<jupyter_output>0.30000000000000004<jupyter_text>Задание 6 (посложнее)В переменных a и b записаны 2 различных числа. Вам необходимо написать код, который меняет значения a и b местами без использования третьей переменной.Дано число в двоичной системе счисления: num=10011. Напишите алгоритм перевода этого числа в привычную нам десятичную систему счисления.Возможно, вам понадобится цикл прохождения всех целых чисел от 0 до m:for n in range(m)<jupyter_code># Меняем значение 2х переменной, без использования 3й
x, y = 3,4
x += y
y = x - y
x -= y

print(x,y)
def bool_to_dec(numb_bool):
    '''Функция, которое превращает число, записанное в двоичном формате
    в десятичное
    '''
    numb_bool_str = str(numb_bool)
    numb_bool_len = len(numb_bool_str)
    numb_dec = 0
    for i in range(numb_bool_len):
        numb_dec += (2 ** (numb_bool_len - 1 - i)) * int(numb_bool_str[i])
    return numb_dec
# Проверка работы функции
num = 10011

# Тест работы функции
print(bool_to_dec(0)) # 0
print(bool_to_dec(1)) # 1
print(bool_to_dec(11)) # 3

# Выполняем преобразование числа из задания
print(bool_to_dec(num)) # 19<jupyter_output>0
1
3
19
{'fraction_non_alphanumeric': 0.07980622131565528, 'fraction_numerical': 0.03620601733809281, 'mean_word_length': 5.236883942766296, 'pattern_counts': {'":': 0, '<': 22, '<?xml version=': 0, '>': 24, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 2, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '13857', 'license': 'MIT', 'n_tokens_mistral': 1709, 'n_tokens_neox': 1841, 'n_words': 431, 'path': 'homeworks_python/1/hw1.ipynb', 'repo_name': 'mikhailbadin/ds_couse_homeworks', 'size': '3930'}