• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Статья Python3 6.Boolean,Инструкция If

1.Boolean

Python содержит класс "bool" который используется для выражения условной логики в коде. Класс "bool" возвращает два значения "True" или "False" (истина или ложь), любое не пустое и не нулевое значение является (True), ноль или пустой объект равняется (False).
Возможность добавлять целые числа в списке которые больше определенного значения в другой список.
Выводить из списка только строковые\целые\дробные значения.
Сравнение двух переменных и использование их неравенства\равенства и тд как условие для последующего кода
Для операции поместите оператор "bool" между переменными, сравнивать возможно целые числа\дробные\строки\списки , а так же присвоить результат сравнения переменной

Операторы "bool"

"==" если значения равны возвращает "True", иначе "False"
Python:
>>> 1 == 1
True
Python:
>>> 2 == 1
False
"!=" если значения не равны то "True", иначе "False"
Python:
>>> 2 != 1
True
Python:
>>> 1 != 1
False
">" если первое значение больше второго "True", иначе "False"
Python:
>>> 2 > 1
True
Python:
>>> 1 > 2
False
"<" если первое значение меньше второго "True", иначе "False"
Python:
>>> 1 < 2
True
Python:
>>> 2 < 1
False
">=" если первое значение больше или равно второму "True", иначе "False"
Python:
>>> 3 >= 2
True
Python:
>>> 2 >= 2
True
Python:
>>> 2 >= 3
False
"<=" если первое значение меньше или равно второму "True" иначе "False"
Python:
>>> 1 <= 2
True
Python:
>>> 2 <= 2
True
Python:
>>> 3 <= 2
False
Пример со строками:
Python:
>>> "one" == "one"
True
Python:
>>> "one" == "two"
False
Python:
>>> "one" != "two"
True
Python:
>>> "one" != "one"
False
Со списками
Python:
>>> ["one", "two", "three", "four"] == ["one", "two", "three", "four"]
True
Python:
>>> ["one", "two", "three"] == ["one", "two", "three", "four"]
False
Сравнение по длине списка
Python:
>>> list_one = [1, 2, 3, 4, 5]
>>> list_two = [1, 2, 3, 4, 5, 6]
>>> len(list_one) == len(list_two)
False
Python:
>>> len(list_one) < len(list_two)
True
Сравнение по индексу числового списка
Python:
>>> int_list = [1, 2, 3, 4, 5]
>>> int_list[0] < int_list[4]
True
Python:
>>> int_list[0] > int_list[4]
False
Присвоение переменной результата сравнения:
Python:
>>> x = ( 1 < 2)
>>> x
True
Python:
>>> y = (1 > 2)
>>> y
False
2.Инструкция if

Python содержит инструкцию if которая позволяет реализовать логическое ветвление.
Состоит инструкция из обязательной части if и двух необязательных elif и esle.
Часть if проверяет условие , если условие истинно то выполняется вложенный блок части if иначе часть if пропускается.
Далее следует необязательная часть elif , если условие части if ложно, но истинно для части elif то выполняется вложенный блок части elif иначе часть elif пропускается
Последней следует необязательная часть else которая не содержит условия , выполняется если условия частей if и elif были ложны
Python:
if (условие1):  # двоеточие обязательно
    Вложенный блок части if # отступ в 4 пробела или 1 табуляция
elif(условие 2\альтернативное условие):
    Вложенный блок части elif # отступ в 4 пробела или 1 табуляция
else: (без условия)
    Вложенный блок части else # отступ в 4 пробела или 1 табуляция

Python:
if 1: # так как единица всегда True
    print("True")
Сравнение двух переменных , если условие верно то выполняется вложенный блок части if
Python:
x = 2
y = 3
two_values = (x < y)
if two_values:
    print(x, "меньше", y)
Так же возможно записать инструкцию другим способом
Python:
x = 2
y = 3
if x < y:
    print(x, "меньше", y)
Пример if\else:
Python:
x = 2
if x == 1:
    print("True")
else:
    print("False")

Пример if\elif:
Python:
x = 3
y = 4
if x > y:
    print(x, "больше", y)
elif x < y:
    print(x, "меньше", y)

Пример if\elif\else:
Python:
player_charm = 6
min_charm = 5
charm_need = 15
if player_charm >= charm_need:
    print("Вам удалось уговорить НПС")
elif charm_need > player_charm >= min_charm:
    print("Вы узнали некоторые сведения")   
else:
    print("Попытка не удалась")

Как это работает:
Переменной player_charm присвоено значение 6 , если переменная player_charm больше или равна переменной charm_need то выполняется вложенный блок части if , если переменная player_charm меньше переменной charm_need то вложенный блок части if пропускается.
Если же переменная player_charm меньше переменной charm_need но при этом больше переменной или равна min_charm то выполняется вложенный блок части elif
Если обе части if/elif были пропущены , выполняется вложенный блок части else

Инструкция if для цикла for
Использование инструкции if для нахождения определенного элемента в списке, присвоение элемента переменной и вывод функцией print()
Python:
str_list = ["one", "two", "three", "four", "five"]
for value in str_list:
    if value == "four":
         element =  value
print(element)
'four'

Индекс необходимого элемента списка указанного в условии :
Python:
str_list = ["one", "two", "three", "four", "five"]
counter = 0 # счетчик
index = 0
for valie in str_list:
    if value == "four":
        index = counter
    counter += 1 # если итерация прошла а условие не было выполнено
# счетчик + 1
print(index)

Определение какой элемент в списке целых чисел больше или меньше указанного в условии и сортировка их по спискам согласно условию
Python:
int_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
greater_5 = [] 
lower_5 = []
for value in int_list:
    if value > 5:
        greater_5.append(value)
    elif value < 5:
        lower_5.append(value)
    else:
         five = value
print(greater_5)
print(lower_5)
print(five)

to be continued...
 
Последнее редактирование:
R

rrrFer

С дробными числами точно так же как и с целыми :
Я не уверен. Дробные числа на равенство вообще сравнивать нельзя. Если это не константы, то они никогда не равны друг другу, т.к. есть мусор в младших разрядах.

Берешь cos(45) и sqrt(2)/2. Сравниваешь. Должны быть равны, но врядли это случится.
 
R

rrrFer

В качестве примера (практического) к статье можно было бы написать простую игрушку. Например, компьютер загадывает число в диапазоне, юзер пытается угадать. Если не угадывает, то компьютер сообщает больше число или меньше. Это и циклы, и условия. Если хочется больше условий - можно ограничить число попыток, а если хочется составных условий - можно добавить проверку принадлежности ответа юзера заданному диапазону. Можно добавить ввод пользователем границ диапазона и проверку их корректности (чтобы A было меньше B - если больше, то числа можно поменять местами, например).

Вобщем не хватает практического примера и ИМХО слишком затянуто вот это 1 == 1, 1==2, 1 !=2, 1 < 2, ... Лучше сразу на хорошем примере все это показать, на мой взгляд.
 

fuzscore

Grey Team
21.09.2016
77
181
BIT
0
Я не уверен. Дробные числа на равенство вообще сравнивать нельзя. Если это не константы, то они никогда не равны друг другу, т.к. есть мусор в младших разрядах.

Берешь cos(45) и sqrt(2)/2. Сравниваешь. Должны быть равны, но врядли это случится.
Очень интересно , питон сообщает что косинус 45 и близко не лежал там) хотя да по идее они равны
Python:
>>> math.cos(45)
0.5253219888177297
Python:
>>> math.sqrt(2)/2
0.7071067811865476
 

fuzscore

Grey Team
21.09.2016
77
181
BIT
0
В качестве примера (практического) к статье можно было бы написать простую игрушку. Например, компьютер загадывает число в диапазоне, юзер пытается угадать. Если не угадывает, то компьютер сообщает больше число или меньше. Это и циклы, и условия. Если хочется больше условий - можно ограничить число попыток, а если хочется составных условий - можно добавить проверку принадлежности ответа юзера заданному диапазону. Можно добавить ввод пользователем границ диапазона и проверку их корректности (чтобы A было меньше B - если больше, то числа можно поменять местами, например).

Вобщем не хватает практического примера и ИМХО слишком затянуто вот это 1 == 1, 1==2, 1 !=2, 1 < 2, ... Лучше сразу на хорошем примере все это показать, на мой взгляд.

Тогда лучше создать тему , где юзеры будут мерятся скриптами написанными на основе полученной информации , не давать же им все сразу готовое или же предлагать задание в конце каждой темы
 
R

rrrFer

Очень интересно , питон сообщает что косинус 45 и близко не лежал там
Там наверное не в градусах, а в радианах значения задаются. Я образно написал. При переводе градусов в радианы вы еще раз получите погрешность, кстати, т.е. результаты будут отличаться еще сильнее.
 

fuzscore

Grey Team
21.09.2016
77
181
BIT
0
Там наверное не в градусах, а в радианах значения задаются. Я образно написал. При переводе градусов в радианы вы еще раз получите погрешность, кстати, т.е. результаты будут отличаться еще сильнее.
да я уже проверил , и удалил из темы сравнение дробных чисел
 
  • Нравится
Реакции: -=S_U_N_Y=-
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!