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

Тема в разделе "Python", создана пользователем gx6060, 15 окт 2016.

Метки:
  1. gx6060

    gx6060 Python

    Регистрация:
    21 сен 2016
    Сообщения:
    37
    Симпатии:
    32
    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...
     
    #1 gx6060, 15 окт 2016
    Последнее редактирование: 15 окт 2016
    Vander и WebWare Team нравится это.
  2. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

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

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

    rrrFer Well-Known Member
    Команда форума C\C++ Team

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

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

    gx6060 Python

    Регистрация:
    21 сен 2016
    Сообщения:
    37
    Симпатии:
    32
    Очень интересно , питон сообщает что косинус 45 и близко не лежал там) хотя да по идее они равны
    Код (Python):
    >>> math.cos(45)
    0.5253219888177297
    Код (Python):
    >>> math.sqrt(2)/2
    0.7071067811865476
     
  5. gx6060

    gx6060 Python

    Регистрация:
    21 сен 2016
    Сообщения:
    37
    Симпатии:
    32
    Тогда лучше создать тему , где юзеры будут мерятся скриптами написанными на основе полученной информации , не давать же им все сразу готовое или же предлагать задание в конце каждой темы
     
  6. rrrFer

    rrrFer Well-Known Member
    Команда форума C\C++ Team

    Регистрация:
    6 сен 2011
    Сообщения:
    1.324
    Симпатии:
    36
    Там наверное не в градусах, а в радианах значения задаются. Я образно написал. При переводе градусов в радианы вы еще раз получите погрешность, кстати, т.е. результаты будут отличаться еще сильнее.
     
  7. gx6060

    gx6060 Python

    Регистрация:
    21 сен 2016
    Сообщения:
    37
    Симпатии:
    32
    да я уже проверил , и удалил из темы сравнение дробных чисел
     
    rrrFer нравится это.
Загрузка...

Поделиться этой страницей