• 1
    数据输入输出
    • 任务
  • 2
    条件语句
    • 任务
  • 3
    for循环
    • 任务
  • 4
    字符串
    • 任务
  • 5
    while循环
    • 任务
  • 6
    列表
    • 任务
  • 7
    二维数组
    • 任务
  • 8
    字典
    • 任务
  • 9
    集合
    • 任务
  • 10
    函数与递归
    • 任务
  • к

课程 2. Conditions

难度:

任务«特工»

💻 Python

你 & mdash; 一名执行秘密任务的特工。你的目标 & mdash; 潜入一个受保护的仓库。仓库的门配备了一个密码锁,需要输入三个整数。城堡的安全系统会根据输入数字的奇偶性按照以下规则做出反应:

  • 如果三个数字 & nbsp; 都是偶数 ,锁会认为组合正确,门就会打开。
  • 如果三个数字 & nbsp; 都是奇数 ,系统会识别出尝试破解的行为并触发警报。
  • 如果数字中既有 & nbsp; 偶数 ,又有 & nbsp; 奇数 ,锁会判定组合错误并提示重新尝试。

你需要编写一个程序,该程序将请求输入三个密码数字并报告结果,以便你在输入组合后确切知道发生了什么。

输入格式

三个整数(Integer),每个整数在新的一行输入。这些数字是城堡的密码。

输出格式

代码检查结果的消息(字符串)。

示例

输入

8
10
2

输出

门是开着的。任务已完成。

提示

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
测试 1
测试 2
测试 3
测试 4
测试 5
测试 6
测试 7
测试 8
测试 9
测试 10
开发者解答
# Запрашиваем у пользователя три целых числа, каждое с новой строки
num1 = int(input()) # Сохраняем первое число в переменную num1
num2 = int(input()) # Сохраняем второе число в переменную num2
num3 = int(input()) # Сохраняем третье число в переменную num3

# Проверяем, являются ли все три числа чётными
# Число является чётным, если остаток от его деления на 2 равен 0
if num1 % 2 == 0 and num2 % 2 == 0 and num3 % 2 == 0:
    # Если условие истинно, выводим сообщение об успехе
    print("Дверь открыта. Задание выполнено.")

# Если первое условие ложно, проверяем, являются ли все три числа нечётными
# Число является нечётным, если остаток от его деления на 2 не равен 0
elif num1 % 2 != 0 and num2 % 2 != 0 and num3 % 2 != 0:
    # Если это условие истинно, выводим сообщение о провале
    print("Активирована система безопасности. Задание провалено.")

# Если ни одно из предыдущих условий не выполнилось, значит, числа смешанные
else:
    # Выводим сообщение о неверной комбинации
    print("Неверная комбинация. Попробуйте снова.")

🎉 恭喜! 🎉

你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。

AD

广告

red-snake blue-snake green-snake

正在运行代码...

AI助手

你好!我是你的编程助手。随时向我提问关于 Python 的问题——我可以解释函数、方法,并帮助你完成当前任务!