Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lesson2 #879

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 19 additions & 1 deletion lesson01/home_work/hw01_easy.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

__author__ = 'Ваши Ф.И.О.'
__author__ = 'Горяев Никита Андреевич'

# Задача-1: Дано произвольное целое число (число заранее неизвестно).
# Вывести поочередно цифры исходного числа (порядок вывода цифр неважен).
Expand All @@ -9,6 +9,11 @@

# код пишем тут...

number_units = input('Введите число ')
i = 0
while i < len(number_units):
print(number_units[i])
i += 1

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

unit1 = input("Введите первое число")
unit2 = input("Введите второе число")
fake = unit1
unit1 = unit2
unit2 = fake
print(unit1,"теперь равен", unit2)
print(unit2,"теперь равен", unit1)

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

age = int(input("Введите ваш возраст"))
if age >= 18:
print("Доступ разрешен")
else:
print("Извините, пользование данным ресурсом только с 18 лет")
34 changes: 33 additions & 1 deletion lesson01/home_work/hw01_normal.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

__author__ = 'Ваши Ф.И.О.'
__author__ = 'Горяев Никита Андреевич'

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

#!/usr/bin/env python3

user_number = int(input("Введите число"))
compare_number = -1
while user_number > 10:
division_number = user_number % 10
user_number //= 10
if division_number > compare_number:
compare_number = division_number
print("Наибольшая цифра -",compare_number)

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

unit1 = input("Введите первое число")
unit2 = input("Введите второе число")
unit1,unit2 = unit2,unit1
print("Первое число теперь",unit1)
print("Второе число теперь",unit2)

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

import math
print("Введите значения квадратного уравнения")
a = int(input("a="))
b = int(input("b="))
c = int(input("c="))
d = b*b - 4*a*c
if d < 0:
print("Корней нет")
if d == 0:
x_first = (- b - math.sqrt(d)) / (2 * a)
print("Уравнение имеет один корень равный",x_first)
if d > 0:
x_first = (- b - math.sqrt(d)) / (2 * a)
x_second = (- b + math.sqrt(d)) / (2 * a)
print("Первый корень равен",x_first)
print("Второй корень равен",x_second)
24 changes: 22 additions & 2 deletions lesson02/home_work/hw02_easy.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
# Задача-1:
# Дан список фруктов.
# Напишите программу, выводящую фрукты в виде нумерованного списка,
# выровненного по правой стороне.

# # выровненного по правой стороне.
# Пример:
# Дано: ["яблоко", "банан", "киви", "арбуз"]
# Вывод:
Expand All @@ -13,13 +12,34 @@

# Подсказка: воспользоваться методом .format()

fruit_pack = ['яблоко', 'банан', 'киви', 'арбуз']
for i in range(0, len(fruit_pack)):
print(str(i + 1) + '.' + '{:>7}'.format(fruit_pack[i]))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

подумайте что будет если в списке окажется слово которое будет по длине больше чем 7 символов





# Задача-2:
# Даны два произвольные списка.
# Удалите из первого списка элементы, присутствующие во втором списке.

first_pack = ['1', '2', '3', '4', '5', '6', '7']
second_pack = ['1', '3', '6']
for item in second_pack:
if item in first_pack:
first_pack.remove(item)
Comment on lines +26 to +30

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

вангую, ваше решнеие не будет работать на следующих данных:

first_pack = ['1', '1', '2', '3', '3', '4', '5', '6', '6', '7']
second_pack = ['1', '3', '6']



# Задача-3:
# Дан произвольный список из целых чисел.
# Получите НОВЫЙ список из элементов исходного, выполнив следующие условия:
# если элемент кратен двум, то разделить его на 4, если не кратен, то умножить на два.
full_pack = ['1', '2', '3', '4', '5', '6', '7', '12']
empty_pack = []
for i in range(0, len(full_pack)):
check_number = int(full_pack[i])
if check_number % 2 == 0:
empty_pack.append(check_number/4)
else :
empty_pack.append(check_number*2)
print(empty_pack)
47 changes: 47 additions & 0 deletions lesson02/home_work/hw02_normal.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,68 @@
# если такой корень вообще можно извлечь
# Пример: Дано: [2, -5, 8, 9, -25, 25, 4] Результат: [3, 5, 2]

import math
my_pack = [2, -5, 8, 9, -25, 25, 4, ]
empty_pack = []
for item in my_pack:
if item > 0 and math.sqrt(item) % 1 == 0:
empty_pack.append(int(math.sqrt(item)))
print(empty_pack)


# Задача-2: Дана дата в формате dd.mm.yyyy, например: 02.11.2013.
# Ваша задача вывести дату в текстовом виде, например: второе ноября 2013 года.
# Склонением пренебречь (2000 года, 2010 года)

user_date = input('Введите дату:')
date_check = user_date.split('.')
dic_days = {
'01': 'первое', '02': 'второе', '03': 'третье', '04': 'четвёртое', '05': 'пятое',
'06': 'шестое', '07': 'седьмое', '08': 'восьмое', '09': 'девятое', '10': 'десятое',
'11': 'одиннадцатое', '12': 'двенадцатое', '13': 'тринадцатое', '14': 'четырнадцатое', '15': 'пятнадцатое',
'16': 'шестнадцатое', '17': 'семнадцатое', '18': 'восемнадцатое', '19': 'девятнадцатое', '20': 'двадцатое',
'21': 'двадцать первое', '22': 'двадцать второе', '23': 'двадцать третье', '24': 'двадцать четвёртое',
'25': 'двадцать пятое', '26': 'двадцать шестое', '27': 'двадцать седьмое', '28': 'двадцать восьмое',
'29': 'двадцать девятое', '30': 'тридцатое', '31': 'тридцать первое'
}

dic_months = {
'01': 'января', '02': 'феврал', '03': 'марта', '04': 'апреля', '05': 'мая', '06': 'июня',
'07': 'июля', '08': 'августа', '09': 'сентября', '10': 'октября', '11': 'ноября', '12': 'декабря',
}

for key in dic_days:
if date_check[0] == key:
date_check[0] = dic_days[key]

for key in dic_months:
if date_check[1] == key:
date_check[1] = dic_months[key]
Comment on lines +38 to +44

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

у вас данные уже в словаре лежат, не нужно по ним итерироваться чтобы достать значения по ключу


print(date_check[0] + ' ' + date_check[1] + ' ' + date_check[2] + ' ' "года")

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

забыли про format


# Задача-3: Напишите алгоритм, заполняющий список произвольными целыми числами
# в диапазоне от -100 до 100. В списке должно быть n - элементов.
# Подсказка:
# для получения случайного числа используйте функцию randint() модуля random

import random
empty_pack = []
pack_range = int(input('Введите желаемое количество элементов списка'))
for i in range(pack_range):
empty_pack.append(random.randint(-100, 100))
print(empty_pack)

# Задача-4: Дан список, заполненный произвольными целыми числами.
# Получите новый список, элементами которого будут:
# а) неповторяющиеся элементы исходного списка:
# например, lst = [1, 2, 4, 5, 6, 2, 5, 2], нужно получить lst2 = [1, 2, 4, 5, 6]
# б) элементы исходного списка, которые не имеют повторений:
# например, lst = [1 , 2, 4, 5, 6, 2, 5, 2], нужно получить lst2 = [1, 4, 6]

my_pack = [1, 2, 4, 5, 6, 2, 5, 2]
perfect_pack = []
for item in my_pack:
if my_pack.count(item) == 1:
perfect_pack.append(item)
print(perfect_pack)