From 9d5f64314fab5513e3c384176569858ccd702bc4 Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 14 Oct 2020 16:13:34 +0300 Subject: [PATCH 01/10] branch les01 init --- .gitignore | 221 ++++++++++++++++++++++++++++++++++++ homeworks/les01/__init__.py | 1 + homeworks/les01/task01.py | 2 +- homeworks/les01/task02.py | 12 +- homeworks/les01/task03.py | 0 5 files changed, 233 insertions(+), 3 deletions(-) create mode 100644 .gitignore create mode 100644 homeworks/les01/task03.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c1be908 --- /dev/null +++ b/.gitignore @@ -0,0 +1,221 @@ +# Created by .ignore support plugin (hsz.mobi) +### Python template +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +pip-wheel-metadata/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +### JetBrains template +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +# .idea/artifacts +# .idea/compiler.xml +# .idea/jarRepositories.xml +# .idea/modules.xml +# .idea/*.iml +# .idea/modules +# *.iml +# *.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +.idea/.gitignore +.idea/inspectionProfiles/ +.idea/misc.xml +.idea/modules.xml +.idea/python_13_10_2020.iml +.idea/vcs.xml diff --git a/homeworks/les01/__init__.py b/homeworks/les01/__init__.py index e69de29..4287ca8 100644 --- a/homeworks/les01/__init__.py +++ b/homeworks/les01/__init__.py @@ -0,0 +1 @@ +# \ No newline at end of file diff --git a/homeworks/les01/task01.py b/homeworks/les01/task01.py index bc0a41d..3ace5a0 100644 --- a/homeworks/les01/task01.py +++ b/homeworks/les01/task01.py @@ -14,4 +14,4 @@ age = int(input('введите возраст: ')) value = float(input('введите годовой доход (тыс.): ')) -print(f'Уважаемый {title} {name}, в {age} лет/года ваше состояние в год увеличивается на {value} тыс. руб. ') +print(f'Уважаемый {title} {name}, в {age} лет/год(а) ваше состояние в год увеличивается на {value} тыс. руб. ') diff --git a/homeworks/les01/task02.py b/homeworks/les01/task02.py index 41579cc..b7c30cd 100644 --- a/homeworks/les01/task02.py +++ b/homeworks/les01/task02.py @@ -4,5 +4,13 @@ Используйте форматирование строк. """ -second = int(input('Введите время в секундах: ')) -print(f'Введено время: {second//(60*60)}:{(second-second//(60*60))//60}:{second - second-second//(60*60)//60}') +from datetime import time, tzinfo, timedelta + +seconds = int(input('Введите время в секундах: ')) + +num_hours = seconds // 3600 +num_minutes = (seconds % 3600) // 60 +num_seconds = seconds % 60 + +print(f'Введено время: {num_hours}:{num_minutes}:{num_seconds}') +print(f'В секундах: {num_hours * 3600 + num_minutes * 60 + num_seconds}') diff --git a/homeworks/les01/task03.py b/homeworks/les01/task03.py new file mode 100644 index 0000000..e69de29 From 4efd24dcb21974eed9acb4eccc81c722a8a88eee Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 14 Oct 2020 17:11:58 +0300 Subject: [PATCH 02/10] task 3 --- homeworks/les01/task03.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/homeworks/les01/task03.py b/homeworks/les01/task03.py index e69de29..a4a3f40 100644 --- a/homeworks/les01/task03.py +++ b/homeworks/les01/task03.py @@ -0,0 +1,16 @@ +""" + 4. Пользователь вводит целое положительное число. + Найдите самую большую цифру в числе. + Для решения используйте цикл while и арифметические операции. +""" + +value = int(input('Введите целое положительное число: ')) +digit_max = 0 +while value > 0: + digit = value % 10 + if digit > digit_max: + digit_max = digit + value //= 10 +print('Самая большую цифра в числе: ', digit_max) + + From e79de51b9f8ed40dc39b3ca3d77c72570c6064f9 Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 14 Oct 2020 17:29:27 +0300 Subject: [PATCH 03/10] task 4 init --- homeworks/les01/task03.py | 2 ++ homeworks/les01/task04.py | 9 +++++++++ 2 files changed, 11 insertions(+) create mode 100644 homeworks/les01/task04.py diff --git a/homeworks/les01/task03.py b/homeworks/les01/task03.py index a4a3f40..ffad593 100644 --- a/homeworks/les01/task03.py +++ b/homeworks/les01/task03.py @@ -7,9 +7,11 @@ value = int(input('Введите целое положительное число: ')) digit_max = 0 while value > 0: + # остаток от деления на 10 - это текущий 1 разряд digit = value % 10 if digit > digit_max: digit_max = digit + # делим на 10 на цело - сдвиг на 1 разряд value //= 10 print('Самая большую цифра в числе: ', digit_max) diff --git a/homeworks/les01/task04.py b/homeworks/les01/task04.py new file mode 100644 index 0000000..03bfdbd --- /dev/null +++ b/homeworks/les01/task04.py @@ -0,0 +1,9 @@ +""" +5. Запросите у пользователя значения выручки и издержек фирмы. + Определите, с каким финансовым результатом работает фирма + (прибыль — выручка больше издержек, или убыток — издержки больше выручки). + Выведите соответствующее сообщение. + Если фирма отработала с прибылью, вычислите рентабельность выручки + (соотношение прибыли к выручке). + Далее запросите численность сотрудников фирмы и определите прибыль фирмы в расчете на одного сотрудника. +""" From 3361242b13c7bedcad80ac364b157b209093d0f1 Mon Sep 17 00:00:00 2001 From: Alex Klyanchin Date: Wed, 14 Oct 2020 21:09:22 +0300 Subject: [PATCH 04/10] task 04 beta --- homeworks/les01/task04.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/homeworks/les01/task04.py b/homeworks/les01/task04.py index 03bfdbd..3543e0f 100644 --- a/homeworks/les01/task04.py +++ b/homeworks/les01/task04.py @@ -7,3 +7,13 @@ (соотношение прибыли к выручке). Далее запросите численность сотрудников фирмы и определите прибыль фирмы в расчете на одного сотрудника. """ +revenue = int(input('Введите значения выручки (млн.): ')) +costs = int(input('Введите значения издержек (млн.): ')) + +if revenue > costs: + print("Предприятие работает с прибылью!") + print(f'Рентабельность предприятия: {revenue/costs}') # todo проверить вычисление рентабельности + num_member = input('Введите численность сотрудников: ') +else: + print("Предприятие работает в убыток...") + From b0e72fedbb432b27ffbe9846d655775b59b5cee5 Mon Sep 17 00:00:00 2001 From: Alex Klyanchin Date: Wed, 14 Oct 2020 22:54:29 +0300 Subject: [PATCH 05/10] task 04 beta --- homeworks/les01/task04.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/homeworks/les01/task04.py b/homeworks/les01/task04.py index 3543e0f..45c0c0a 100644 --- a/homeworks/les01/task04.py +++ b/homeworks/les01/task04.py @@ -12,7 +12,8 @@ if revenue > costs: print("Предприятие работает с прибылью!") - print(f'Рентабельность предприятия: {revenue/costs}') # todo проверить вычисление рентабельности + income = revenue - costs; # доход = операционная выручка - расходы + print(f'Рентабельность предприятия: {income/costs}') # todo проверить вычисление рентабельности num_member = input('Введите численность сотрудников: ') else: print("Предприятие работает в убыток...") From dd2b94b8b2206a4f37fe6842d226937d7d57a8b8 Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 15 Oct 2020 14:15:20 +0300 Subject: [PATCH 06/10] task 6 --- homeworks/les01/task03.py | 29 ++++++++++++++++------------- homeworks/les01/task04.py | 30 ++++++++++++++---------------- homeworks/les01/task05.py | 20 ++++++++++++++++++++ homeworks/les01/task06.py | 29 +++++++++++++++++++++++++++++ 4 files changed, 79 insertions(+), 29 deletions(-) create mode 100644 homeworks/les01/task05.py create mode 100644 homeworks/les01/task06.py diff --git a/homeworks/les01/task03.py b/homeworks/les01/task03.py index ffad593..f8fd4ee 100644 --- a/homeworks/les01/task03.py +++ b/homeworks/les01/task03.py @@ -1,18 +1,21 @@ """ - 4. Пользователь вводит целое положительное число. - Найдите самую большую цифру в числе. - Для решения используйте цикл while и арифметические операции. + +3. Узнайте у пользователя число n. +Найдите сумму чисел n + nn + nnn. +Например, пользователь ввёл число 3. +Считаем 3 + 33 + 333 = 369. + """ -value = int(input('Введите целое положительное число: ')) -digit_max = 0 -while value > 0: - # остаток от деления на 10 - это текущий 1 разряд - digit = value % 10 - if digit > digit_max: - digit_max = digit - # делим на 10 на цело - сдвиг на 1 разряд - value //= 10 -print('Самая большую цифра в числе: ', digit_max) +digit = int(input('Введите число: ')) # воод цифры + +summa = 0 # общая сумма +digits = digit * 10 ** 0 # вычисление чисел на основании цифры +summa += digits +digits += digit * 10 ** 1 # число равно n*10**0 + (n*10**0 + n*10**1) + (n*10**0 + n*10**1 + n*10**2) +summa += digits +digits += digit * 10 ** 2 +summa += digits +print('Сумма чисел :', summa) diff --git a/homeworks/les01/task04.py b/homeworks/les01/task04.py index 45c0c0a..ffad593 100644 --- a/homeworks/les01/task04.py +++ b/homeworks/les01/task04.py @@ -1,20 +1,18 @@ """ -5. Запросите у пользователя значения выручки и издержек фирмы. - Определите, с каким финансовым результатом работает фирма - (прибыль — выручка больше издержек, или убыток — издержки больше выручки). - Выведите соответствующее сообщение. - Если фирма отработала с прибылью, вычислите рентабельность выручки - (соотношение прибыли к выручке). - Далее запросите численность сотрудников фирмы и определите прибыль фирмы в расчете на одного сотрудника. + 4. Пользователь вводит целое положительное число. + Найдите самую большую цифру в числе. + Для решения используйте цикл while и арифметические операции. """ -revenue = int(input('Введите значения выручки (млн.): ')) -costs = int(input('Введите значения издержек (млн.): ')) -if revenue > costs: - print("Предприятие работает с прибылью!") - income = revenue - costs; # доход = операционная выручка - расходы - print(f'Рентабельность предприятия: {income/costs}') # todo проверить вычисление рентабельности - num_member = input('Введите численность сотрудников: ') -else: - print("Предприятие работает в убыток...") +value = int(input('Введите целое положительное число: ')) +digit_max = 0 +while value > 0: + # остаток от деления на 10 - это текущий 1 разряд + digit = value % 10 + if digit > digit_max: + digit_max = digit + # делим на 10 на цело - сдвиг на 1 разряд + value //= 10 +print('Самая большую цифра в числе: ', digit_max) + diff --git a/homeworks/les01/task05.py b/homeworks/les01/task05.py new file mode 100644 index 0000000..0e488f8 --- /dev/null +++ b/homeworks/les01/task05.py @@ -0,0 +1,20 @@ +""" +5. Запросите у пользователя значения выручки и издержек фирмы. + Определите, с каким финансовым результатом работает фирма + (прибыль — выручка больше издержек, или убыток — издержки больше выручки). + Выведите соответствующее сообщение. + Если фирма отработала с прибылью, вычислите рентабельность выручки + (соотношение прибыли к выручке). + Далее запросите численность сотрудников фирмы и определите прибыль фирмы в расчете на одного сотрудника. +""" +revenue = int(input('Введите значения выручки (тыс.): ')) +costs = int(input('Введите значения издержек (тыс.): ')) + +if revenue > costs: + print("Предприятие работает с прибылью!") + income = revenue - costs; # доход = операционная выручка - расходы + print(f'Рентабельность выручки: {(income / revenue) * 100}%') # todo проверить вычисление рентабельности + num_member = int(input('Введите численность сотрудников: ')) + print('Прибыль фирмы в расчете на одного сотрудника (тыс.): ', income / num_member) +else: + print("Предприятие работает в убыток...") diff --git a/homeworks/les01/task06.py b/homeworks/les01/task06.py new file mode 100644 index 0000000..3a0b220 --- /dev/null +++ b/homeworks/les01/task06.py @@ -0,0 +1,29 @@ +""" +6. Спортсмен занимается ежедневными пробежками. +В первый день его результат составил a километров. +Каждый день спортсмен увеличивал результат на 10 % относительно предыдущего. +Требуется определить номер дня, на который общий результат спортсмена составить не менее b километров. +Программа должна принимать значения параметров a и b и выводить одно натуральное число — номер дня. + +Например:a = 2, b = 3. +Результат: +1-й день: 2 +2-й день: 2,2 +3-й день: 2,42 +4-й день: 2,66 +5-й день: 2,93 +6-й день: 3,22 +Ответ: на 6-й день спортсмен достиг результата — не менее 3 км. + +""" +num_day = 1 +distance_day_1 = int(input('Введите результат первого дня (км): ')) +challenge = int(input('Введите желаемый результат (км): ')) +distance_day_current = distance_day_1 # текущий результат + +while distance_day_current < challenge: # продолжаем пока не достигли результата + distance_day_current *= 1.1 # увеличили результат на 10% + num_day += 1 # день прошел + print('значение', distance_day_current) + +print('Номер дня: ', num_day) From a873d32aa05caf869611fd7d350ceaf4900f913c Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 15 Oct 2020 14:25:06 +0300 Subject: [PATCH 07/10] task 6 --- homeworks/les01/task01.py | 4 ++-- homeworks/les01/task02.py | 2 -- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/homeworks/les01/task01.py b/homeworks/les01/task01.py index 3ace5a0..ef086dc 100644 --- a/homeworks/les01/task01.py +++ b/homeworks/les01/task01.py @@ -5,12 +5,12 @@ a = 12 # целое b = 12.0 # с плавающей точкой -c = 'Замечен слабый интеллект' +c = 'Замечен слабый интеллект' # строка print(a, b, c) name = input('введите ваше имя: ') -title = input('введите ваше звание: ') +title = input('введите ваше звание (поручик, доцент, ... ): ') age = int(input('введите возраст: ')) value = float(input('введите годовой доход (тыс.): ')) diff --git a/homeworks/les01/task02.py b/homeworks/les01/task02.py index b7c30cd..3848691 100644 --- a/homeworks/les01/task02.py +++ b/homeworks/les01/task02.py @@ -4,8 +4,6 @@ Используйте форматирование строк. """ -from datetime import time, tzinfo, timedelta - seconds = int(input('Введите время в секундах: ')) num_hours = seconds // 3600 From 1377704dd72c697b2c0c9fc3dd9deaf3ccf98677 Mon Sep 17 00:00:00 2001 From: Alex Klyanchin Date: Sun, 18 Oct 2020 19:01:34 +0300 Subject: [PATCH 08/10] =?UTF-8?q?les01=20task002=20=D0=B8=D0=B7=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=84=D0=BE=D1=80=D0=BC?= =?UTF-8?q?=D0=B0=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- homeworks/les01/task02.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeworks/les01/task02.py b/homeworks/les01/task02.py index 3848691..81c3197 100644 --- a/homeworks/les01/task02.py +++ b/homeworks/les01/task02.py @@ -10,5 +10,5 @@ num_minutes = (seconds % 3600) // 60 num_seconds = seconds % 60 -print(f'Введено время: {num_hours}:{num_minutes}:{num_seconds}') +print(f'Введено время: {num_hours:02}:{num_minutes:02}:{num_seconds:02}') print(f'В секундах: {num_hours * 3600 + num_minutes * 60 + num_seconds}') From 3eb962d57353ddddb05dda235a38ba4b561d043c Mon Sep 17 00:00:00 2001 From: Alex Klyanchin Date: Sun, 18 Oct 2020 19:37:38 +0300 Subject: [PATCH 09/10] =?UTF-8?q?les01=20task03=20=D1=87=D0=B8=D1=81=D0=BB?= =?UTF-8?q?=D0=BE=20=D0=B0=20=D0=BD=D0=B5=20=D1=86=D0=B8=D1=84=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- homeworks/les01/task03.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/homeworks/les01/task03.py b/homeworks/les01/task03.py index f8fd4ee..aec5b31 100644 --- a/homeworks/les01/task03.py +++ b/homeworks/les01/task03.py @@ -7,15 +7,8 @@ """ -digit = int(input('Введите число: ')) # воод цифры +num1 = input('Введите число: ') # воод ввод числа -summa = 0 # общая сумма - -digits = digit * 10 ** 0 # вычисление чисел на основании цифры -summa += digits -digits += digit * 10 ** 1 # число равно n*10**0 + (n*10**0 + n*10**1) + (n*10**0 + n*10**1 + n*10**2) -summa += digits -digits += digit * 10 ** 2 -summa += digits +summa = int(num1) + int(num1*2) + int(num1*3) print('Сумма чисел :', summa) From 7144f97313eaf00817d765b9ac0b7d48947cf030 Mon Sep 17 00:00:00 2001 From: Alex Klyanchin Date: Mon, 19 Oct 2020 12:45:12 +0300 Subject: [PATCH 10/10] les01 task03 ver2 --- homeworks/les01/task03.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/homeworks/les01/task03.py b/homeworks/les01/task03.py index aec5b31..c1043ff 100644 --- a/homeworks/les01/task03.py +++ b/homeworks/les01/task03.py @@ -8,7 +8,13 @@ """ num1 = input('Введите число: ') # воод ввод числа +num_digits = len(num1) +num1 = int(num1) +summa = 0 # общая сумма +digits = 0 -summa = int(num1) + int(num1*2) + int(num1*3) +for rank in range(0, 3 * num_digits, num_digits): + digits += num1 * 10 ** rank # + summa += digits print('Сумма чисел :', summa)