И снова всех приветствую уже в 4-ой части! Сегодня мы подробно изучим инструкции if и убъемся о кучу практики)
Не будем тратить время и приступим.
И вспоминаем следующую конструкцию
Что бы понять эту конструкцию лучше переведу ее на русский)
Куда понятней обьяснить не возможно. Рассмотрим на примере.
Мы получаем от пользователя ответ(либо y либо n) и сравниваем используя if.
Вот так это на русском. С простыми условиями мы разобрались. Теперь разберемся что же делать если условие ложно?
Для этого у нас есть инструкция else. Else - выполняет действие, если условие в if - ложно. Пишется после if и выглядит сие дело так
Рассмотрим на простом примере фрагмента который писали ранее
Т.е. если пользователь вводит n, то выполнится else и мы получим такое
А теперь к практике использования полученых сейчас знаний)
Перед написанием программы советею вспомнить школьную информатику и составить алгоритм для программы.
Теперь вспомним и всеми любимую если не ошибаюсь алгебру
А теперь к алгоритму
А теперь непосредственно к написанию. Первым делом получаем данные от пользователя
Тем самым получаем коэффициенты. Также в начале кода я прописал
Это означает, что я добавил библиотеку с дополнительными функциями. В нашем случем математическими. Это нужно для подсчета корня. В дальнейшем мы будем создавать свои библиотеки.
Теперь посчитаем дискриминант
Тут ничего сложного, а теперь перейдем к самой главной части нашего кода - инструкции if.
Тут у нас получилась модель с инструкцией if вложенной в else. Как это упростить, обсудим дальше.
math.sqrt(D) - считает корень значения переменной D.
Собственно на этом программа и закончина. В итоге весь код
В итоге получаем
Теперь поговорим про еще одну интереснейшую инструкцию - elif. Он выполняет действие при опрелеленном условии если if получил ложное. Сейчас все поймете
В переводе на русский
И мы получаем вывод
А теперь друзья мои домашнее заданее)
Входные данные -> любое сообщение
Output -> ответ бота на сообщение)
Будет интересней такой расклад
Напишите код который будет споашивать 3 возраста и определять самый большой, маленький и средний.
Хотел бы вас порадовать, в скором времени выпущю цикл статей по теме "питон для хакера".
[1] -- Часть 1
[2] -- Часть 2
[3] -- Часть 3
Не будем тратить время и приступим.
Начало с малости теории.
Давайте вспомним зачем же нужен if. Если вы читали прошлую часть, то вы помните что
Инструкция if выполняет действия при определенном условии.
И вспоминаем следующую конструкцию
Код:
if условие:
действие 1
действие 2
...
Что бы понять эту конструкцию лучше переведу ее на русский)
Код:
ЕСЛИ условие верно ТО
Выполнить действие 1
Выполнить еще действие
Куда понятней обьяснить не возможно. Рассмотрим на примере.
Код:
output1 = input("Завершить работу?(y/n): ")
if output1 == "y":
exit("Пока!")
print("Программа еще работает")
Мы получаем от пользователя ответ(либо y либо n) и сравниваем используя if.
Код:
ЕСЛИ ответ пользователя равен "y" ТО выполни
закончить работу программы и вывести сообщение "Пока!"
Вывести сообщение "Программа еще работает"
Вот так это на русском. С простыми условиями мы разобрались. Теперь разберемся что же делать если условие ложно?
Для этого у нас есть инструкция else. Else - выполняет действие, если условие в if - ложно. Пишется после if и выглядит сие дело так
Код:
if условие:
действие 1
действие 2
else:
действие 3
Рассмотрим на простом примере фрагмента который писали ранее
Код:
output1 = input("Выйти из программы(y/n): ")
if output1 == "y":
exit("Пока)
else:
print("Программа еще работает")
Т.е. если пользователь вводит n, то выполнится else и мы получим такое
Код:
Выйти из программы(y/n): n
Программа еще работает
А теперь к практике использования полученых сейчас знаний)
Первая нормальная программа.
Сейчас мы напишем наконец первую нормальную программу. Данная программа будет решать квадратные уравнения.
Перед написанием программы советею вспомнить школьную информатику и составить алгоритм для программы.
Теперь вспомним и всеми любимую если не ошибаюсь алгебру
ax^2+bx+c=0
a,b,c - коэффициенты
D - дискриминант.
D = b^2(в квадрате) - 4 × a × c
x1 = (-b + корень из D) / 2 × a
x2 = (-b - корень из D) / 2 × a
Помним что, если
- D > 0 , 2 корня
- D = 0 , 1 корень (x = -b/(2 × a))
- D < 0 , нет корней
А теперь к алгоритму
Код:
1. Получаем значения a, b, c
2. Находим D
3. Создаем инструкцию if
Если D > 0 то ..
Если D < 0 то ..
Если D = 0 то ..
4. Красиво выводим всю информацию.
А теперь непосредственно к написанию. Первым делом получаем данные от пользователя
Код:
import math
voln = "*"*50
print(voln)
a = input("[+] Введите a => ")
b = input("[+] Введите b => ")
с = input("[+] Введите c => ")
a = int(a)
b = int(b)
c = int(c)
print(voln)
Тем самым получаем коэффициенты. Также в начале кода я прописал
Код:
import math
Теперь посчитаем дискриминант
Код:
D = b**2 - (4*a*c)
Код:
if D > 0:
x1 = (-b + math.sqrt(D))/(2*a)
x2 = (-b - math.sqrt(D))/(2*a)
print("[!] Первый корень: ", x1)
print("[!] Второй корень: ", x2)
else:
if D == 0:
x = (-b)/(2*a)
print("[!] Корень: ", x)
else:
print("[!] Корней нет!")
Тут у нас получилась модель с инструкцией if вложенной в else. Как это упростить, обсудим дальше.
math.sqrt(D) - считает корень значения переменной D.
Собственно на этом программа и закончина. В итоге весь код
Код:
import math
voln = "*"*50
print(voln)
a = input("[+] Введите a => ")
b = input("[+] Введите b => ")
с = input("[+] Введите c => ")
a = int(a)
b = int(b)
c = int(c)
print(voln)
D = b**2 - (4*a*c)
if D > 0:
x1 = (-b + math.sqrt(D))/(2*a)
x2 = (-b - math.sqrt(D))/(2*a)
print("[!] Первый корень: ", x1)
print("[!] Второй корень: ", x2)
else:
if D == 0:
x = (-b)/(2*a)
print("[!] Корень: ", x)
else:
print("[!] Корней нет!")
В итоге получаем
Код:
**************************************************
[+] Введите a => 1
[+] Введите b => 1
[+] Введите c => -2
**************************************************
[!] Первый корень: 1.0
[!] Второй корень: -2.0
Теперь поговорим про еще одну интереснейшую инструкцию - elif. Он выполняет действие при опрелеленном условии если if получил ложное. Сейчас все поймете
Код:
if 2 > 3:
print(" 2 > 3")
elif 3 > 2:
print("3 > 2")
В переводе на русский
Код:
ЕСЛИ 2 > 3 ТО
ВЫВЕСТИ "2 > 3"
(ЕСЛИ 2 не больше 3 то выполнить следующее)
ЕСЛИ 3 > 2 ТО
ВЫВЕСТИ "3 > 2"
И мы получаем вывод
Код:
3 > 2
А теперь друзья мои домашнее заданее)
Задание 1
Перепишите программу для решения квадратных уравнений с использованием elif.
Задание 2 *
Напишите мини бота используя знания полученые на этом уроке.
Входные данные -> любое сообщение
Output -> ответ бота на сообщение)
Задание 3
Напишите программу которая будет определять месяц по его номеру.
Код:
--------------------------------------------------------
Введите номер месяца --> 2
--------------------------------------------------------
[Месяц] -- Февраль
--------------------------------------------------------
Задание 4
Напишите программу которая будет требовать пароля от пользователя.
Будет интересней такой расклад
Код:
Введите пароль --> 228666
Пароль введен не верно!
Экстренный выход!
Задание 5
Совсем легко!
Напишите код который будет споашивать 3 возраста и определять самый большой, маленький и средний.
Хотел бы вас порадовать, в скором времени выпущю цикл статей по теме "питон для хакера".
[1] -- Часть 1
[2] -- Часть 2
[3] -- Часть 3