From 0d02f5312feb8b194c3e57616056b9664a7614f1 Mon Sep 17 00:00:00 2001 From: pmal6 Date: Fri, 14 Jan 2022 13:01:02 +0300 Subject: [PATCH 01/13] test commit --- new1.py | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 new1.py diff --git a/new1.py b/new1.py new file mode 100644 index 0000000..86802f3 --- /dev/null +++ b/new1.py @@ -0,0 +1,7 @@ +name = input("Введите ваше имя: ") +age = int(input("Введите ваш возраст ")) +print("Привет, %s!" % name) +print("Тебе уже %d лет" % age) + + + From 5b92bf003ff871dde56e6f9c03ec108103028aee Mon Sep 17 00:00:00 2001 From: pmal6 Date: Fri, 14 Jan 2022 14:15:03 +0300 Subject: [PATCH 02/13] =?UTF-8?q?1-=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5,=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=BD=D1=8B=D0=B9,=20input?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1_variables.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 1_variables.py diff --git a/1_variables.py b/1_variables.py new file mode 100644 index 0000000..32e6853 --- /dev/null +++ b/1_variables.py @@ -0,0 +1,42 @@ +# Печать целого числа + +i = 234.567 + +print(int(i)) +print(float(i)) +print(3 + 8) + +# Стринговая переменная + +str = "Hi, there" + +print(str) + +# Булевая переменная +bool = False +print(not(bool)) + +# ИЗМЕНЯЕМАЯ коллекция объектов +list = ["Hi", 44.6, 332, "there"] +print(list[2]) + +# Кортеж - НЕизменяемая коллекция объектов +tuple = ("Hi world", 3.14, 8889) + +print(tuple[0]) + +# Словарь - неизменяемая коллекция объектов с доступом по ключу + +dict = {"a1": 223, "a2": 45, "name": "anton", "age": 33} + +print(dict["a2"], dict["age"]) + +# Использовние input - всегда вывод строковый + +str = input("Как ваше имя: ") +print(str) + +# Использовние input для целых чисел + +s = input("Введите целое число: ") +print(int(s)) From ee0d86e84f4d5ba836a3266a4bdb6a8e2face093 Mon Sep 17 00:00:00 2001 From: pmal6 Date: Fri, 14 Jan 2022 15:49:08 +0300 Subject: [PATCH 03/13] =?UTF-8?q?2-=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BD=D0=B0=20=D0=BF=D1=80=D0=B5=D0=BE=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B2?= =?UTF-8?q?=D0=B2=D0=BE=D0=B4=D0=B0=20=D0=B2=20=D1=81=D0=B5=D0=BA=D1=83?= =?UTF-8?q?=D0=BD=D0=B4=D0=B0=D1=85=20=D0=B2=20=D1=87=D0=B0=D1=81=D1=8B=20?= =?UTF-8?q?:=20=D0=BC=D0=B8=D0=BD=D1=83=D1=82=D1=8B=20:=20=D1=81=D0=B5?= =?UTF-8?q?=D0=BA=D1=83=D0=BD=D0=B4=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2_seconds.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 2_seconds.py diff --git a/2_seconds.py b/2_seconds.py new file mode 100644 index 0000000..d5bcb17 --- /dev/null +++ b/2_seconds.py @@ -0,0 +1,15 @@ +# Задание 2, ввод в секундах и вывод в часах минутах и секундах +# проверка на неправильный ввод символов НЕ выполняется +ss = float(input("Введите время в секундах используя точку для десятичных значений : ")) +# вычисление часов +h = 0 +h = ss//3600 +# вычисление минут +m = 0 +m = (ss%3600)//60 +# вычисление секунд +s = 0 +s = (ss%3600)%60 + +print(" Это равно - ",int(h),"hr:",int(m),"min:",int(s),"sec") + From bcc7552f7b7492c338f1db9e48b1f2e8b276f289 Mon Sep 17 00:00:00 2001 From: pmal6 Date: Mon, 17 Jan 2022 13:49:19 +0300 Subject: [PATCH 04/13] =?UTF-8?q?3-=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=83=D1=80=D0=BE=D0=BA=201=20:=20=D1=81=D1=83?= =?UTF-8?q?=D0=BC=D0=BC=D0=B0=20=D1=81=20+=20=D1=81=D1=81=20+=20=D1=81?= =?UTF-8?q?=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 3_sum_of_numbers.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 3_sum_of_numbers.py diff --git a/3_sum_of_numbers.py b/3_sum_of_numbers.py new file mode 100644 index 0000000..ec3aeb0 --- /dev/null +++ b/3_sum_of_numbers.py @@ -0,0 +1,15 @@ +# +# Вводим число через input , получаем строковую переменную, формируем строку s+s, затем s+s+s +# и складываем числа преобразую строки s ,s+s и s+s+s в целые числа +# выполняем проверку ввода через try - exception + +try: + z = input('Введите целое число от 0 до 9 :') + zz = z + z + zzz = z + z + z + + sum = int(z) + int(zz) + int(zzz) + print('Сумма равна :', sum) + +except Exception: + print('Вы ввели неверный символ, введите целое число от 0 до 9') \ No newline at end of file From b13e4d754f62ba1ef839386afc4cb867b96cc0b9 Mon Sep 17 00:00:00 2001 From: pmal6 Date: Mon, 17 Jan 2022 18:18:23 +0300 Subject: [PATCH 05/13] =?UTF-8?q?4-=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=201-=D0=B3=D0=BE=20=D1=83=D1=80=D0=BE=D0=BA=D0=B0,?= =?UTF-8?q?=20=D0=BE=D0=BF=D1=80=D0=B5=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BC=D0=B0=D0=BA=D1=81=20=D1=86=D0=B8=D1=84=D1=80?= =?UTF-8?q?=D1=8B=20=D1=86=D0=B5=D0=BB=D0=BE=D0=B3=D0=BE=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D0=BE=D0=B6=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D0=BE?= =?UTF-8?q?=D0=B3=D0=BE=20=D1=87=D0=B8=D1=81=D0=BB=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 4_largest_digit_in_the_number.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 4_largest_digit_in_the_number.py diff --git a/4_largest_digit_in_the_number.py b/4_largest_digit_in_the_number.py new file mode 100644 index 0000000..bc73b2d --- /dev/null +++ b/4_largest_digit_in_the_number.py @@ -0,0 +1,22 @@ +# Через input получаем строковую переменную, преобразуем в лист и проверяем на наличие 9, 8 и т.д. до 1 +# проверка ввода через try: - exception +try: + + str_n = input('Введите целое положительное число : ') + + max = 0 + i = 0 +# Цикл прохода по цифрам числа + while i < len(str_n): + y = 9 +# Цикл определения каждой цифры и назначение максимальной + while y >= 0: + if y == int(str_n[i]) and max < y: + max = y + y -= 1 + i += 1 + print('Самая большая цифра числа :', max) + + +except Exception: + print('Ошибочный ввод данных !') \ No newline at end of file From c9b3ebb55591ba991af360b3733985efc91c5fbd Mon Sep 17 00:00:00 2001 From: pmal6 Date: Tue, 18 Jan 2022 11:05:38 +0300 Subject: [PATCH 06/13] =?UTF-8?q?5-=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5,=201-=D1=8B=D0=B9=20=D1=83=D1=80=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 5_profit.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 5_profit.py diff --git a/5_profit.py b/5_profit.py new file mode 100644 index 0000000..bd00d92 --- /dev/null +++ b/5_profit.py @@ -0,0 +1,30 @@ +# Запрашиваем через инпут выручку и издержки . Вычисляем прибыль/убыток. +# r - выручка, с - косты, p - прибыль, w - число работников +# проверка ввода через try -except + +try: + + + + + + + r = int(input('Введите выручку компании : ')) + print(r) + c = int(input('Введите издержки : ')) + print(c) + +# Вычисляем прибыль + + p = r - c + print(p) + if p > 0: + + print(f'Рентабельность равна {p / r * 100:.2f}%') + w = int(input('Введите количество работников в компании : ')) + print(f'Прибыль на работника равна : {p / w:.2f}') + else: + print('Компания убыточна') + +except Exception: + print('Ошибочный ввод данных !') \ No newline at end of file From 6dd21719740776a9660471cb37359a08dcfa7352 Mon Sep 17 00:00:00 2001 From: pmal6 Date: Tue, 18 Jan 2022 14:33:14 +0300 Subject: [PATCH 07/13] =?UTF-8?q?6-=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=201=20=D0=B3=D0=BE=20=D1=83=D1=80=D0=BE=D0=BA?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 6_sportsman.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 6_sportsman.py diff --git a/6_sportsman.py b/6_sportsman.py new file mode 100644 index 0000000..eec0915 --- /dev/null +++ b/6_sportsman.py @@ -0,0 +1,22 @@ +# Спортсмен пробежал за 1-ый день а км. За второй - на 10 % больше , то есть 1.1 * а +# за 3-ий день на 10% больше то есть 1.1 * 1.1 * а = 1.1**2 * а и т.д . +# Используем эту формулу для вычисления км в определенный день + + +try: + + a = int(input('Сколько километров пробежал спортсмен в первый день ? : ')) + print(a) + b = int(input('Какой целевой результат спортсмена в км ? : ')) + print(b) + + # вычисляем когда сумма a + (1.1 * a) + (1.1 * 1) * 0.1 * a + ... >= b, где n число дней + i = 1 + while a < b: + a *= 1.1 + print(a, i) + i += 1 + print("Нужно ", i, " дня/дней, чтобы достичь результата ", b, ' км') + +except Exception: + print('Ошибочный ввод данных !') \ No newline at end of file From ab92dc2782766630a6d79573e20e0fc65f920ee2 Mon Sep 17 00:00:00 2001 From: pmal6 Date: Wed, 19 Jan 2022 15:08:58 +0300 Subject: [PATCH 08/13] =?UTF-8?q?=D0=A3=D1=80=D0=BE=D0=BA=202=20=D0=97?= =?UTF-8?q?=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=201,=20=D1=82=D0=B8=D0=BF?= =?UTF-8?q?=20=D0=BA=D0=B0=D0=B6=D0=B4=D0=BE=D0=B3=D0=BE=20=D1=8D=D0=BB?= =?UTF-8?q?=D0=B5=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=20=D1=81=D0=BF=D0=B8=D1=81?= =?UTF-8?q?=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1_list_script_lesson2.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 1_list_script_lesson2.py diff --git a/1_list_script_lesson2.py b/1_list_script_lesson2.py new file mode 100644 index 0000000..085c824 --- /dev/null +++ b/1_list_script_lesson2.py @@ -0,0 +1,20 @@ +# Урок 2 задание 1 +# Создаем список и заполняем его элементами различных типов данных +# Проверяем типы данных с помощью функции type() + + +my_list = ['One', 12, 'Two', 4.7, 'Application of ', {'Jan': 1, 'Feb': 2, 'Mar': 3, 'Apr': 4}] + +print(my_list) + +# нумеруем каждый элемент в списке. Возвращаем кортеж из пар: (индекс, элемент) +print("Нумеруем список",list(enumerate(my_list))) +# делаем срез +print(my_list[3:7]) + +# в цикле while проверяем тип каждого элемента списка + +i = 0 +while i < len(my_list): + print(type(my_list[i])) + i += 1 From eab3945e505a82bbe279c35e00217d9370358224 Mon Sep 17 00:00:00 2001 From: pmal6 Date: Wed, 19 Jan 2022 17:34:20 +0300 Subject: [PATCH 09/13] =?UTF-8?q?2-=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=202-=D0=B3=D0=BE=20=D1=83=D1=80=D0=BE=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=BF=D0=BE=D0=BC=D0=B5=D0=BD=D1=8F=D1=82=D1=8C=20=D0=B5?= =?UTF-8?q?=D0=BB=D0=B5=D0=BC=D0=B5=D0=BD=D1=82=D1=8B=20=D1=81=D0=BF=D0=B8?= =?UTF-8?q?=D1=81=D0=BA=D0=B0=20:=201<->2,=203<->4=20=D0=B8=20=D1=82.?= =?UTF-8?q?=D0=B4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson2/2_lesson2_exchange_list_el.py | 36 +++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 lesson2/2_lesson2_exchange_list_el.py diff --git a/lesson2/2_lesson2_exchange_list_el.py b/lesson2/2_lesson2_exchange_list_el.py new file mode 100644 index 0000000..0eb552c --- /dev/null +++ b/lesson2/2_lesson2_exchange_list_el.py @@ -0,0 +1,36 @@ +# Урок 2 задание 2 +# Создаем список и заполняем его элементами различных типов данных +# Проверяем типы данных с помощью функции type() + +# Задаем переменные, my_list - список, а - переменная для элементов списка + +try: + + my_list = [] + a = 0 + while True: + a = input('Введите элемент списка ( для окончания ввода нажмите Enter) : ') + if a == '': break + my_list.append(a) # добавляет элемент в конец списка + + +# Принтуем элементы списка для сравнения + + print(my_list) + +# Переставляем элементы списка местами : 1 и 2, 3 и 4 и т.д. Нечетный последний элемент остается на месте + + i = 0 + while i < len(my_list): + if len(my_list) - i == 1: break # для выхода из цикла с нечетным числом элементов списка + cache = my_list[i] # запоминаем значение элемента списка, так как он поменяется на следующем шаге + my_list[i] = my_list[i+1] + my_list[i+1] = cache + i += 2 + +# Принтуем элементы списка для сравнения + + print(my_list) + +except Exception: + print('Ошибочный ввод данных !') \ No newline at end of file From 42637185e773bfc0e73431f83919d94708a8deb6 Mon Sep 17 00:00:00 2001 From: pmal6 Date: Thu, 20 Jan 2022 17:27:42 +0300 Subject: [PATCH 10/13] =?UTF-8?q?3-=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=83=D1=80=D0=BE=D0=BA=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson2/3_lesson2_season.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 lesson2/3_lesson2_season.py diff --git a/lesson2/3_lesson2_season.py b/lesson2/3_lesson2_season.py new file mode 100644 index 0000000..9bae27d --- /dev/null +++ b/lesson2/3_lesson2_season.py @@ -0,0 +1,26 @@ +#Задание 3 урок 2 +#Пользователь вводит месяц в виде целого числа от 1 до 12. +# Сообщить, к какому времени года относится месяц (зима, весна, лето, осень). Напишите решения через list и dic + +try: + season_list = [ 12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] + season_dict = {'1': 12, '2': 1, '3': 2, '4': 3, '5': 4, '6': 5, '7': 6, '8': 7, '9': 8, '10': 9, '11': 10, '12':11 } + a = 0 + while True: + a = int(input('Ввеодите месяц года как целое число от 1 до 12 : ')) + if a < 13 and a > 0: break + + if season_list.index(a) < 3: print(f' Это зима !') # возвращает индекс первого вхождения указанного элемента списка + if season_list.index(a) > 8: print(f' Это осень !') # возвращает индекс первого вхождения указанного элемента списк + if season_list.index(a) > 2 and season_list.index(a) < 6: print(f' Это весна !') + if season_list.index(a) > 5 and season_list.index(a) < 9: print(f' Это лето !') + + if season_dict[str(a)] < 3: print(f' Это зима ! ( словарь )') + if season_dict[str(a)] > 8: print(f' Это осень ! ( словарь )') + if season_dict[str(a)] > 2 and season_dict[str(a)] < 6: print(f' Это весна ! ( словарь )') + if season_dict[str(a)] > 5 and season_dict[str(a)] < 9: print(f' Это лето ! ( словарь )') + +except Exception: + print('Ошибочный ввод данных !') + + From 92657ee68c39f4d994bbbaa5e613469193e94400 Mon Sep 17 00:00:00 2001 From: pmal6 Date: Thu, 20 Jan 2022 21:57:35 +0300 Subject: [PATCH 11/13] =?UTF-8?q?4-=D0=BE=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=A3=D0=A0=D0=9E=D0=9A=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson2/4_lesson2_words.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 lesson2/4_lesson2_words.py diff --git a/lesson2/4_lesson2_words.py b/lesson2/4_lesson2_words.py new file mode 100644 index 0000000..7208b98 --- /dev/null +++ b/lesson2/4_lesson2_words.py @@ -0,0 +1,16 @@ +# Урок 2 задание 4 +# Пользователь вводит строку из нескольких слов, разделённых пробелами. Вывести каждое слово с новой строки. +# Строки нужно пронумеровать. Если слово длинное, выводить только первые 10 букв в слове. +# Проверка на ошибки try: exept Exeption: +# +try: + str = input('Введите строку из нескольких слов разделенных пробелом : ') # ввели строку с пробелами между слов + + i = 0 # ниже цикл работает пока i меньше числа слов в строке + while i < len(str.split()): # str.split() преобразует строку в список если разделитель между словами строки пробел +# функция len() возвращает количество элементов в списке, то есть число слов в данном случае + print(i+1, str.split()[i][0:10]) # str.split()[i] - это элемент списка, а [0:10] -вывод только 10 символов + i += 1 + +except Exception: + print('Ошибочный ввод данных !') From efa931d522f203c699fb4c3427e46423af90e054 Mon Sep 17 00:00:00 2001 From: pmal6 Date: Fri, 21 Jan 2022 01:15:15 +0300 Subject: [PATCH 12/13] =?UTF-8?q?5-e=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=83=D1=80=D0=BE=D0=BA=202=20:=20=D0=B2=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=B5=D0=BD=D0=BD=D1=8B=D0=B5=20=D1=82=D0=B8?= =?UTF-8?q?=D0=BF=D1=8B=20=D0=B8=20=D0=BE=D0=BF=D0=B5=D1=80=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8=20=D1=81=20=D0=BD=D0=B8=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson2/2_lesson2_exchange_list_el.py | 4 +--- lesson2/5_lesson2_rating_.py | 31 +++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 lesson2/5_lesson2_rating_.py diff --git a/lesson2/2_lesson2_exchange_list_el.py b/lesson2/2_lesson2_exchange_list_el.py index 0eb552c..8c5d914 100644 --- a/lesson2/2_lesson2_exchange_list_el.py +++ b/lesson2/2_lesson2_exchange_list_el.py @@ -23,9 +23,7 @@ i = 0 while i < len(my_list): if len(my_list) - i == 1: break # для выхода из цикла с нечетным числом элементов списка - cache = my_list[i] # запоминаем значение элемента списка, так как он поменяется на следующем шаге - my_list[i] = my_list[i+1] - my_list[i+1] = cache + my_list[i], my_list[i+1] = my_list[i+1], my_list[i] i += 2 # Принтуем элементы списка для сравнения diff --git a/lesson2/5_lesson2_rating_.py b/lesson2/5_lesson2_rating_.py new file mode 100644 index 0000000..7e2b56a --- /dev/null +++ b/lesson2/5_lesson2_rating_.py @@ -0,0 +1,31 @@ +# Задание 5 урок 2 +# 5. Реализовать структуру «Рейтинг», представляющую собой набор натуральных чисел, который не возрастает. +# У пользователя нужно запрашивать новый элемент рейтинга. +# Если в рейтинге существуют элементы с одинаковыми значениями, то новый элемент с тем же значением должен +# разместиться после них. +# Подсказка. Например, набор натуральных чисел: 7, 5, 3, 3, 2. +# Пользователь ввёл число 3. Результат: 7, 5, 3, 3, 3, 2. +# Пользователь ввёл число 8. Результат: 8, 7, 5, 3, 3, 2. +# Пользователь ввёл число 1. Результат: 7, 5, 3, 3, 2, 1. +# Набор натуральных чисел можно задать сразу в коде, например, my_list = [7, 5, 3, 3, 2] + +try: + + my_list = [3, 7, 9, 45] # Задаем набор натуральных чисел + print(f'Набор натуральных чисел', end=': ''') # принтуем без перевода каретки + for el in my_list: print(el, end=',') # выводим данные списка без [ ] + print('.') # перевод каретки + while True: # бесконечный цикл ввода натурального числа пользователем + print('') + a = int(input('Введите натуральное число : ')) # ввод числа пользователем в тип целое + if a <= 0: # если число отрицательное + print('Встретилось отрицательное число :', a, '. Работа закончена !') # завершение работы с сообщением + break + my_list.append(a) # добавляем в конец списка введенное число + my_list.sort() # сортировка элементов списка + print(f'Пользователь ввел число :', a, end='.') # принтуем введенное число + print(f' Результат', end=': ''') + for el in my_list: print(el, end=',') # принтуем в цикле элементы отсортированного списка + +except Exception: + print('Ошибочный ввод данных !') From f94df5e92ac751bc7334807835f30d05440b99ce Mon Sep 17 00:00:00 2001 From: pmal6 Date: Fri, 21 Jan 2022 15:44:52 +0300 Subject: [PATCH 13/13] =?UTF-8?q?5=20=D0=B8=206=20=D0=B7=D0=B0=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D1=83=D1=80=D0=BE=D0=BA=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lesson2/5_lesson2_rating_.py | 1 + lesson2/6_lesson2.py | 42 ++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 lesson2/6_lesson2.py diff --git a/lesson2/5_lesson2_rating_.py b/lesson2/5_lesson2_rating_.py index 7e2b56a..203ffd3 100644 --- a/lesson2/5_lesson2_rating_.py +++ b/lesson2/5_lesson2_rating_.py @@ -23,6 +23,7 @@ break my_list.append(a) # добавляем в конец списка введенное число my_list.sort() # сортировка элементов списка + my_list.reverse() # реверс для рейтинга нужен print(f'Пользователь ввел число :', a, end='.') # принтуем введенное число print(f' Результат', end=': ''') for el in my_list: print(el, end=',') # принтуем в цикле элементы отсортированного списка diff --git a/lesson2/6_lesson2.py b/lesson2/6_lesson2.py new file mode 100644 index 0000000..d2cd12c --- /dev/null +++ b/lesson2/6_lesson2.py @@ -0,0 +1,42 @@ +# 6-е задание урок 2 +# Реализовать структуру данных «Товары». Она должна представлять собой список кортежей. Каждый кортеж хранит +# информацию об отдельном товаре. В кортеже должно быть два элемента — номер товара и словарь с параметрами, +# то есть характеристиками товара: название, цена, количество, единица измерения. Структуру нужно сформировать +# программно, запросив все данные у пользователя. +# Пример готовой структуры: +# [ +# (1, {“название”: “компьютер”, “цена”: 20000, “количество”: 5, “eд”: “шт.”}), +# (2, {“название”: “принтер”, “цена”: 6000, “количество”: 2, “eд”: “шт.”}), +# (3, {“название”: “сканер”, “цена”: 2000, “количество”: 7, “eд”: “шт.”}) +# ] +# Нужно собрать аналитику о товарах. Реализовать словарь, в котором каждый ключ — характеристика товара, например, +# название. Тогда значение — список значений-характеристик, например, список названий товаров. +# Пример: +# +# { +# “название”: [“компьютер”, “принтер”, “сканер”], +# “цена”: [20000, 6000, 2000], +# “количество”: [5, 2, 7], +# “ед”: [“шт.”] +# } + +try: + + my_list = [] + my_dict = () + a = 0 + while True: + check_point = input( 'Продолжать ввод y/n: ') + if check_point == 'y': + my_dict = dict({'название': input('Введите название товара: '), 'цена': input('Введите цену товара: '), + 'количество': input('Введите количество товара: '), 'ед': input('Введите ед товара: ')}) + my_list.append((len(my_list)+1, my_dict)) + elif check_point == 'n': + break + else: + check_point = input('Продолжать ввод y/n: ') + print(my_list) + + +except Exception: + print('Ошибочный ввод данных !')