diff --git a/6.1.py b/6.1.py new file mode 100644 index 0000000..4a84c04 --- /dev/null +++ b/6.1.py @@ -0,0 +1,51 @@ +import sys + + +n = int(input('Введите целое трехзначное число ')) +#'n = 152' +# ОС Windows 10, 32 бит + +a = n - n // 10 * 10 +b = n // 10 - n // 100 * 10 +c = n // 100 + +result_mult = a * b * c +result_summ = a + b + c + +def show_size(x): + summ_memory = sys.getsizeof(x) + if hasattr(x, '__iter__'): + if hasattr(x, 'items'): + for key, value in x.items(): + summ_memory += show_size(key) + summ_memory += show_size(value) + elif not isinstance(x, str): + for item in x: + summ_memory += show_size(item) + return summ_memory + + +def happy_end(x): + full_summ = 0 + for i in x: + full_summ += show_size(i) + return full_summ + + +def get_variables(): + loc_param = globals() + unwanted = ['get_variables', 'show_size', 'happy_end', 'sys'] + param = [] + for k in loc_param: + if '__' not in k: + if k not in unwanted: + param.append(loc_param[k]) + return param + + +print(f'Произведение чисел Вашего целого трехзначного числа равно={result_mult}') +print(f'Сумма чисел Вашего целого трехзначного числа равна: {result_summ}') + +print(f'Всего задействовано памяти: {happy_end(get_variables())}') +#Всего задействовано памяти: 84 +#print(get_variables()) diff --git a/6.2.py b/6.2.py new file mode 100644 index 0000000..0c9b68f --- /dev/null +++ b/6.2.py @@ -0,0 +1,72 @@ +# Посчитать четные и нечетные цифры введенного натурального числа. +# Например, если введено число 34560, то у него 3 четные цифры (4, 6 и 0) +# и 2 нечетные (3 и 5). + + +import time +import sys + + +def show_size(x): + summ_memory = sys.getsizeof(x) + if hasattr(x, '__iter__'): + if hasattr(x, 'items'): + for key, value in x.items(): + summ_memory += show_size(key) + summ_memory += show_size(value) + elif not isinstance(x, str): + for item in x: + summ_memory += show_size(item) + return summ_memory + + +def happy_end(x): + full_summ = 0 + for i in x: + full_summ += show_size(i) + return full_summ + + +def get_variables(): + loc_param = globals() + unwanted = ['get_variables', 'show_size', 'happy_end', 'sys', 'time'] + param = [] + for k in loc_param: + if '__' not in k: + if k not in unwanted: + param.append(loc_param[k]) + return param + + +print('Расслабьтесь...') +time.sleep(1) +print('Сосредоточьтесь...') +time.sleep(1) +z = a = int(input('Запишите самое важное для Вас натуральное число...: '))# 3578 +# т.к. значение обнуляется = > объем памяти меняются во время выполнения скрипта для наглядности беру две переменные +# иначе ответ получается как и в предыдущей задаче, скука же. А обнуляющуюся переменную можно, при желании, исключить. + +devil_even = 0 +devil_uneven = 0 + + +if a == 0: + print('Ваш очень важный ноль сугубо четный') +else: + while a != 0: + c = a % 10 % 2 + a = a // 10 + if c == 0: + devil_even += 1 + else: + devil_uneven += 1 + print('Ваше самое важное число содержит:') + print(devil_even, '- четных') + print(devil_uneven, '- нечетных') + + + +print('До новых встреч!') +print(f'Итого было задействовано памяти: {happy_end(get_variables())}') +#Итого было задействовано памяти: 68 +#print(get_variables()) diff --git a/6.3.py b/6.3.py new file mode 100644 index 0000000..78347b8 --- /dev/null +++ b/6.3.py @@ -0,0 +1,67 @@ +#В массиве случайных целых чисел поменять местами минимальный +# и максимальный элементы. + +import random +import sys + + +def show_size(x): + summ_memory = sys.getsizeof(x) + if hasattr(x, '__iter__'): + if hasattr(x, 'items'): + for key, value in x.items(): + summ_memory += show_size(key) + summ_memory += show_size(value) + elif not isinstance(x, str): + for item in x: + summ_memory += show_size(item) + return summ_memory + + +def happy_end(x): + full_summ = 0 + for i in x: + full_summ += show_size(i) + return full_summ + + +def get_variables(): + loc_param = globals() + unwanted = ['get_variables', 'show_size', 'happy_end', 'sys', 'random'] + param = [] + for k in loc_param: + if '__' not in k: + if k not in unwanted: + param.append(loc_param[k]) + return param + + +SIZE = 10 +array = [random.randint(0, SIZE * SIZE) for _ in range(SIZE)] +#Старый массив: [2, 44, 79, 44, 75, 16, 97, 69, 59, 42] + +minimum = maximum = array[0] + +for i in range(1, len(array)): + if array[i] > maximum: + maximum = array[i] + elif array[i] < minimum: + minimum = array[i] + else: + pass +new_array = [] +for i in range(len(array)): + if array[i] == maximum: + new_array += [minimum] + elif array[i] == minimum: + new_array += [maximum] + else: + new_array += [array[i]] + +print('Старый массив: ', array) +print('максимальный элемент:', maximum, 'минимальный элемент: ', minimum) +print('Новый массив:', new_array) +#Новый массив: [97, 44, 79, 44, 75, 16, 2, 69, 59, 42] +print(f'Итого было задействовано памяти: {happy_end(get_variables())}') +#Итого было задействовано памяти: 536 +#print(get_variables()) \ No newline at end of file