forked from pablorus/Python_lessons_basic
-
Notifications
You must be signed in to change notification settings - Fork 457
/
Copy pathhw01_normal.py
94 lines (78 loc) · 5.73 KB
/
hw01_normal.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
__author__ = 'Зиновьев Максим Игоревич'
# Подключим математический модуль для дальнейших изысканий
import math
# Задача-1: Дано произвольное целое число, вывести самую большую цифру этого числа.
# Например, дается x = 58375.
# Нужно вывести максимальную цифру в данном числе, т.е. 8.
# Подразумевается, что мы не знаем это число заранее.
# Число приходит в виде целого беззнакового.
# Подсказки:
# * постарайтесь решить задачу с применением арифметики и цикла while;
# * при желании и понимании решите задачу с применением цикла for.
userNumber = int(input('Эта программа выводит самую большую цифру в числе. Введите целое число: '))
print('Вы ввели: ', userNumber)
# Создадим список в который поместим все цифры числа
listNumber = []
while userNumber > 0:
remainder = userNumber % 10
userNumber //= 10
# запишем в список все цифры из которых состоит число
listNumber.append(remainder)
# зададим меременную в которую будем складировать поочередно каждое число из списка
number = 0
# зададим переменную в которую будем помещать самое большое число в данной итерации
maxNumber = listNumber.pop()
# Циклом for переберем все числа в нашем списке
for number in listNumber:
if number > maxNumber:
maxNumber = number
print('Самая большая цифра в заданном числе: ', maxNumber)
# Задача-2: Исходные значения двух переменных запросить у пользователя.
# Поменять значения переменных местами. Вывести новые значения на экран.
# Решите задачу, используя только две переменные.
# Подсказки:
# * постарайтесь сделать решение через действия над числами;
# * при желании и понимании воспользуйтесь синтаксисом кортежей Python.
print('\nА эта программа меняет местами значения введенных чисел')
userNumber1 = int(input("Введите первое число: "))
userNumber2 = int(input("Введите второе число: "))
# Поменяем значения местами
userNumber1, userNumber2 = userNumber2, userNumber1
print('1. В данном исполнении, значение первой переменной, присвоилось второй переменной и наоборот: ',
userNumber1, userNumber2)
# Данное решение допустимо если нет необходимости сохранять то в каком перядке пользователь вводил переменные.
# Теперь пойдём по другому пути, сохраним числа в исходных переменных (для этого откатим предыдущие действия).
# Например соберем из наших переменных список и выведем значения в обратном порядке
print('2. А в этом мы откатим изменения в переменных к исходным и сделаем список, '
'из которого выведем переменные в обратном порядке с помощью цикла while:')
userNumber1, userNumber2 = userNumber2, userNumber1
userList = [userNumber1, userNumber2]
i = 1
lengthList = len(userList)
while i <= lengthList:
print(userList[-i])
i += 1
# Задача-3: Напишите программу, вычисляющую корни квадратного уравнения вида
# ax² + bx + c = 0.
# Коэффициенты уравнения вводятся пользователем.
# Для вычисления квадратного корня воспользуйтесь функцией sqrt() модуля math:
# import math
# math.sqrt(4) - вычисляет корень числа 4
print('Эта программа вычисляет корень квадратного уравнения вида ax² + bx + c = 0.')
# Запросим у пользователя коэффициенты
coefA = int(input('Введите коэффициент a: '))
coefB = int(input('Введите коэффициент b: '))
coefC = int(input('Введите коэффициент c: '))
# Вычислим дискременант по формуле b^2 - 4ac
discretonaty = coefB ** 2 - 4 * coefA * coefC
print('Дискременант: ', discretonaty)
# Далее по формулам вычисляем корни уравнения при различных значениях дискременанта
if discretonaty == 0:
root = (-coefB) / (2 * coefA)
print('x1 = x2 =', root)
elif discretonaty > 0:
root1 = (- coefB + math.sqrt(discretonaty)) / (2 * coefA)
root2 = (- coefB - math.sqrt(discretonaty)) / (2 * coefA)
print('Уравнение имеет два корня: \nx1 =', root1, 'x2 =', root2)
else:
print('Решений уравнения с такими корнями - нет.')