Skip to content
104 changes: 1 addition & 103 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,106 +4,4 @@
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

# 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/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover

# Translations
*.mo
*.pot

# Django stuff:
*.log

# Sphinx documentation
docs/_build/

# PyBuilder
target/
### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio

*.iml

## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:

# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries

# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml

# Gradle:
# .idea/gradle.xml
# .idea/libraries

# Mongo Explorer plugin:
# .idea/mongoSettings.xml

## File-based project format:
*.ipr
*.iws

## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties

/*.zip
.DS_Store
17 changes: 15 additions & 2 deletions lesson01/home_work/hw01_easy.py
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
#!/usr/bin/env python3

__author__ = 'Ваши Ф.И.О.'
__author__ = 'Студенников Валерий Юрьевич'

# Задача-1: Дано произвольное целое число (число заранее неизвестно).
# Вывести поочередно цифры исходного числа (порядок вывода цифр неважен).
# Подсказки:
# * постарайтесь решить задачу с применением арифметики и цикла while;
# * при желании решите задачу с применением цикла for.

# код пишем тут...
n = int( input() )

while n != 0:
print( n % 10 )
n //= 10

# Задача-2: Исходные значения двух переменных запросить у пользователя.
# Поменять значения переменных местами. Вывести новые значения на экран.
Expand All @@ -18,7 +22,16 @@
# Не нужно решать задачу так:
# print("a = ", b, "b = ", a) - это неправильное решение!

a, b = input(), input()
a, b = b, a
print("a =", a, "; b =", b)

# Задача-3: Запросите у пользователя его возраст.
# Если ему есть 18 лет, выведите: "Доступ разрешен",
# иначе "Извините, пользование данным ресурсом только с 18 лет"

age = int( input() )
if age >= 18:
print('Доступ разрешен')
else:
print('Вход в pornhub только с 18!')
7 changes: 6 additions & 1 deletion lesson01/home_work/hw01_hard.py
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#!/usr/bin/env python3

__author__ = 'Ваши Ф.И.О.'
__author__ = 'Студенников Валерий Юрьевич'

# Задание-1:
# Ваня набрал несколько операций в интерпретаторе и получал результаты:
Expand All @@ -14,3 +15,7 @@
# если точно известно, что её значение не изменялось?

# Подсказка: это значение точно есть ;)

import math

print( math.inf )
27 changes: 26 additions & 1 deletion lesson01/home_work/hw01_normal.py
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
#!/usr/bin/env python3

__author__ = 'Ваши Ф.И.О.'
__author__ = 'Студенников Валерий Юрьевич'

# Задача-1: Дано произвольное целое число, вывести самую большую цифру этого числа.
# Например, дается x = 58375.
Expand All @@ -10,6 +11,8 @@
# * постарайтесь решить задачу с применением арифметики и цикла while;
# * при желании и понимании решите задачу с применением цикла for.

n = input()
print( max( map( int, list(n) ) ) )

# Задача-2: Исходные значения двух переменных запросить у пользователя.
# Поменять значения переменных местами. Вывести новые значения на экран.
Expand All @@ -18,10 +21,32 @@
# * постарайтесь сделать решение через действия над числами;
# * при желании и понимании воспользуйтесь синтаксисом кортежей Python.

a, b = input(), input()
a, b = b, a
print("a =", a, "; b =", b)

# Задача-3: Напишите программу, вычисляющую корни квадратного уравнения вида
# ax² + bx + c = 0.
# Коэффициенты уравнения вводятся пользователем.
# Для вычисления квадратного корня воспользуйтесь функцией sqrt() модуля math:
# import math
# math.sqrt(4) - вычисляет корень числа 4

import math
print('Enter A, B, C:')
a, b, c = map( int, [input(), input(), input()] )

d = b ** 2 - 4 * a * c

if a == 0:
x = -c / b
print( "one solution:", x )
elif d < 0:
print( "no real solution" )
elif d == 0:
x = (- b + math.sqrt( b ** 2 - 4 * a * c)) / (2 * a)
print( "one solution:", x )
else:
x1 = ( -b + math.sqrt( (b ** 2) - (4 * (a * c) ) ) ) / (2 * a)
x2 = ( -b - math.sqrt( (b ** 2) - (4 * (a * c) ) ) ) / (2 * a)
print( "two solutions:", x1, "or", x2 )
17 changes: 17 additions & 0 deletions lesson01/home_work/task01.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/usr/bin/env python3

# Поработайте с переменными, создайте несколько, выведите на экран,
# запросите у пользователя несколько чисел и строк и сохраните в переменные,
# выведите на экран.

a = 'see'
b = 5
c = None

print( a, b, c )

print( 'Enter 3 variables:' )

d, e, f = input(), input(), input()

print( d, e, f )
16 changes: 16 additions & 0 deletions lesson01/home_work/task02.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/usr/bin/env python3

# Пользователь вводит время в секундах. Переведите время в часы,
# минуты и секунды и выведите в формате чч:мм:сс.
# Используйте форматирование строк.

print( 'enter seconds:' )
seconds = int( input() )

minutes = seconds // 60
seconds = seconds % 60

hours = minutes // 60
minutes = minutes % 60

print( "%02d:%02d:%02d" % (hours, minutes, seconds) )
10 changes: 10 additions & 0 deletions lesson01/home_work/task03.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/usr/bin/env python3

# Узнайте у пользователя число n. Найдите сумму чисел n + nn + nnn.
# Например, пользователь ввёл число 3. Считаем 3 + 33 + 333 = 369.

n = input()

sum = int( n ) + int( n + n ) + int( n + n + n )

print( sum )
20 changes: 20 additions & 0 deletions lesson01/home_work/task04.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env python3

# Пользователь вводит целое положительное число. Найдите самую большую цифру в числе.
# Для решения используйте цикл while и арифметические операции.

n = input()

# var 1
print( max( map( int, list(n) ) ) )

# var 2
n = int(n)
m = 0
while n != 0:
d = n % 10
if d > m:
m = d
n //= 10

print( m )
21 changes: 21 additions & 0 deletions lesson01/home_work/task05.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/usr/bin/env python3

# Запросите у пользователя значения выручки и издержек фирмы.
# Определите, с каким финансовым результатом работает фирма
# (прибыль — выручка больше издержек, или убыток — издержки больше выручки).
# Выведите соответствующее сообщение.
# Если фирма отработала с прибылью, вычислите рентабельность выручки
# (соотношение прибыли к выручке).
# Далее запросите численность сотрудников фирмы и определите прибыль фирмы
# в расчете на одного сотрудника.

revenue = float( input('Enter revenue: '))
expenses = float( input('Enter expenses: '))
profit = revenue - expenses
employees = float( input('Enter count of employees: '))

print( 'Profit: %.2f' % profit )

profit_per_employee = profit / employees

print( 'Profit per employee: %.2f' % profit_per_employee )
19 changes: 19 additions & 0 deletions lesson01/home_work/task06.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/usr/bin/env python3

# Спортсмен занимается ежедневными пробежками.
# В первый день его результат составил a километров.
# Каждый день спортсмен увеличивал результат на 10 % относительно предыдущего.
# Требуется определить номер дня, на который общий результат спортсмена
# составить не менее b километров.
# Программа должна принимать значения параметров a и b и
# выводить одно натуральное число — номер дня.

a = float( input('a: ') )
b = float( input('b: ') )

n = 1
while a < b:
a *= 1.1
n += 1

print( "n = %d" % n )
14 changes: 14 additions & 0 deletions lesson02/home_work/from_manual-01.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/usr/bin/env python3

# 1.
# Создать список и заполнить его элементами различных типов данных.
# Реализовать скрипт проверки типа данных каждого элемента.
# Использовать функцию type() для проверки типа.
# Элементы списка можно не запрашивать у пользователя, а указать явно, в программе.

print('=== 1 ===')

lst1 = [ 1, 'ной', set('ковчег'), [2, 3], dict(), { 'my' : 'dickt' } ]

for item in lst1:
print( item, type(item) )
17 changes: 17 additions & 0 deletions lesson02/home_work/from_manual-02.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/usr/bin/env python3

# 2.
# Для списка реализовать обмен значений соседних элементов, т.е.
# Значениями обмениваются элементы с индексами 0 и 1, 2 и 3 и т.д.
# При нечетном количестве элементов последний сохранить на своем месте.
# Для заполнения списка элементов необходимо использовать функцию input().

print('=== 2 ===')

#lst2 = [1, 2, 3, 4, 5, 6, 7]
lst2 = input('enter words divided by space: ').split()

for i in range(len(lst2) // 2):
lst2[ i * 2 ], lst2[ i * 2 + 1 ] = lst2[ i * 2 + 1 ], lst2[ i * 2 ]

print( lst2 )
30 changes: 30 additions & 0 deletions lesson02/home_work/from_manual-03.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#!/usr/bin/env python3

# 3.
# Пользователь вводит месяц в виде целого числа от 1 до 12.
# Сообщить к какому времени года относится месяц (зима, весна, лето, осень).
# Напишите решения через list и через dict.

print('=== 3 ===')

#month_num = 12
month_num = int(input('enter month number: '))
month_num -= 1

months_list = ['зима', 'зима', 'весна', 'весна', 'весна', 'лето', 'лето', 'лето', 'осень', 'осень', 'осень', 'зима']
months_dict = {
11 : 'зима',
0 : 'зима',
1 : 'зима',
2 : 'весна',
3 : 'весна',
4 : 'весна',
5 : 'лето',
6 : 'лето',
7 : 'лето',
8 : 'осень',
9 : 'осень',
10 : 'осень',
}

print( months_list[ month_num ], months_dict[ month_num ] )
Loading