• 1
    Input and Output Data
    • Tasks
  • 2
    Conditions
    • Tasks
  • 3
    For Loop
    • Tasks
  • 4
    Strings
    • Tasks
  • 5
    While Loop
    • Tasks
  • 6
    Lists
    • Tasks
  • 7
    Two-Dimensional Arrays
    • Tasks
  • 8
    Dictionaries
    • Tasks
  • 9
    Sets
    • Tasks
  • 10
    Functions and Recursion
    • Tasks
  • к

Занятие 2. Conditions

Difficulty level:

Task«Hiring»

IT company "FutureTech" expands its staff and is looking for a new Python developer. To speed up the primary selection, the personnel department asked you to write a small filter program. The program should automatically determine whether the candidate for basic criteria is suitable.

rn

criteria for the candidate:

rn rn
  • Experience: more than 2 years.
  • rn
  • rn write a program that requests three values ​​for the user: age (integer), experience in years (integer) and knowledge of Python (line 'True' or 'false'). The program should analyze these data and display the verdict: “The candidate is suitable” or “The candidate is not suitable.”

    Input format

    the age of the candidate (integer, int)
    experience in years (integer, int)
    Knowledge Python (line, str, takes the value 'true' or 'false')

    Output format

    Verdict on the candidate (line, str)

    Example

    Input

    30
    5
    True

    Output

    The candidate is suitable

    Hint

    Nested conditions

    You can nest some conditional statements (if) into others to create more complex and multi-level checks. This is useful when the next action depends on several consecutive conditions.

    The key point here is the correct indentation (usually 4 spaces), which shows Python which block of code belongs to which condition.

    Example:

    x = 10
    
    if x > 5:
        print("First check passed: x is greater than 5.")
    if x < 20:
            print("Second check passed: x is also less than 20.")
    else:
    print("Second check failed: x is at least 20.")
    else:
    print("First check failed: x is less than or equal to 5.")
    

    A useful tip: Try not to create too many nesting levels (3 or more). Deeply embedded code becomes difficult to read and understand. Often, complex nesting can be simplified by using logical operators.

    Logical operators

    Logical operators in Python are used to combine two or more conditions. They allow you to build complex logic without putting conditions into each other. The main logical operators are and, or and not.

    The Name Description
    or logical "OR" Returns True if at least one condition is true.
    and logical "And" Returns True only if both conditions are true.
    not logical "NOT" (negation) Inverts the result: True becomes False and vice versa.

    Examples:

    a = 5
    b = 7
    
    # and: both conditions must be true
    s1 = a > 3 and b < 10  # True and True -> True
    
    # or: at least one condition must be true
    s2 = a != 5 or b >= 7  # False or True -> True
    
    # not: inverts the result
    s3 = not (a < b)       # not (True) -> False
    

    When using and, the result will be true only if both operands are true. When using or, it is sufficient for at least one of the operands to be true. The not operator turns a lie into the truth and vice versa.

    Analysis of a complex example:

    a, b, c = 7, 10, 11
    # Original expression:
    print(not(a > 7 and b <= 10) or c != 17)
    
    # Let's take it step by step:
    # 1. a > 7  ->  7 > 7  -> False
    # 2. b <= 10 -> 10 <= 10 -> True
    # 3. (False and True) -> False
    # 4. not(False) -> True
    # 5. c != 17 -> 11 != 17 -> True
    # 6. True or True -> True
    # Result: True
    

    A useful tip: To improve readability and avoid errors in complex expressions, always use parentheses () to explicitly specify the order of calculations, even if you remember the precedence of operators (not has the highest priority, then and, then or).

    The ternary operator

    The ternary operator is a compact way to write a simple if-else condition that returns a value. It allows you to assign a variable a value depending on the condition, and all this in one line.

    Syntax: [value if true] if [condition] else [value if false]

    Examples:

    x = 10
    # If x > 5, result will be 100, otherwise 200
    result = 100 if x > 5 else 200
    print(result) # Will output: 100
    
    y = 20
    # Assign the larger of the two values to the variable z
    z = x if x > y else y
    print(z) # Outputs: 20
    
    # Assign a text value
    result_text = "positive" if x > 0 else "non-positive"
    print(result_text) # Outputs: positive
    

    A useful tip: The ternary operator is great for simple assignments. However, if the logic becomes more complicated or if, depending on the condition, you need to perform different actions (rather than just return a value), it is better to use a full-fledged if-else construct to preserve the readability of the code.

    One-line conditions

    If the condition body (if, elif, or else) consists of only one instruction, Python allows you to write it in the same line after the colon.

    Example:

    x = 10
    if x > 5: print("x is greater than 5")
    

    Important style note: Although this notation is syntactically correct, it is often not recommended by the Python Code Style Guide (PEP 8). Placing instructions on a separate line with indentation improves readability and is a generally accepted standard. Use a one-line entry with care, mostly for very simple and obvious actions.

    main.py
    Test 1
    Test 2
    Test 3
    Test 4
    Test 5
    Test 6
    Test 7
    Test 8
    Test 9
    Test 10
    Developer’s solution
    # Запрашиваем у пользователя возраст и сразу преобразуем введенную строку в целое число
    age = int(input())
    
    # Запрашиваем опыт работы и также преобразуем в целое число
    experience = int(input())
    
    # Запрашиваем знание Python. Ввод останется строкой ('True' или 'False')
    python_knowledge_str = input()
    
    # Проверяем все условия одновременно с помощью логического оператора 'and'
    # 1. Возраст должен быть больше или равен 25 И меньше или равен 40
    # 2. Опыт должен быть строго больше 2
    # 3. Строка со знанием Python должна быть в точности 'True'
    if age >= 25 and age <= 40 and experience > 2 and python_knowledge_str == 'True':
        # Если все три условия выполнены, выводим положительный вердикт
        print("Кандидат подходит")
    else:
        # Если хотя бы одно из условий не выполнено, выводим отрицательный вердикт
        print("Кандидат не подходит")

    🎉 Congratulations! 🎉

    You did an excellent job with the task! It was a challenging problem, but you found the correct solution. You are one step closer to mastering programming! Keep up the good work, because every stage you pass makes you even stronger.

    AD

    Advertisement

    red-snake blue-snake green-snake

    Running your code...

    Помощник ИИ

    Привет! Я твой помощник по программированию. Задавай любые вопросы по Python, я могу рассказать о функциях, методах, обьяснить то, что тебе не понятно, а так же о текущей задаче!