Салыстыру және логикалық операторлар
Теория
if операторы
age = 18
if age >= 18:
print("Сіз ересексіз")
Егер шарт орындалмаса, ештеңе болмайды.
if-else
score = 85
if score >= 50:
print("Тест тапсырылды")
else:
print("Тест тапсырылмады")
if-elif-else (көп тармақты)
grade = 85
if grade >= 90:
letter = "A"
elif grade >= 80:
letter = "B"
elif grade >= 70:
letter = "C"
elif grade >= 60:
letter = "D"
else:
letter = "F"
print(f"Баға: {letter}")
Кірістірілген if (nested if)
age = 20
has_ticket = True
if age >= 18:
if has_ticket:
print("Кіруге рұқсат")
else:
print("Билет керек")
else:
print("Жас шектеуі")
Тернарлық оператор (бір жолдық if)
Синтаксис: [шарт True] if [шарт] else [шарт False]
age = 17
status = "Кәмелетті" if age >= 18 else "Кәмелетке толмаған"
print(status) # "Кәмелетке толмаған"
# Басқа мысалдар:
max_val = a if a > b else b
parity = "жұп" if x % 2 == 0 else "тақ"
Практикалық мысалдар
# Калькулятор
a = float(input("Бірінші сан: "))
op = input("Оператор (+, -, *, /): ")
b = float(input("Екінші сан: "))
if op == "+":
print(a + b)
elif op == "-":
print(a - b)
elif op == "*":
print(a * b)
elif op == "/":
if b != 0:
print(a / b)
else:
print("Қате: нөлге бөлу")
else:
print("Белгісіз оператор")
# Жыл мезгілін анықтау
month = int(input("Ай саны (1-12): "))
if month in [12, 1, 2]:
season = "Қыс"
elif month in [3, 4, 5]:
season = "Көктем"
elif month in [6, 7, 8]:
season = "Жаз"
elif month in [9, 10, 11]:
season = "Күз"
else:
season = "Қате ай"
print(season)
Қателер және жақсы тәжірибелер
Қате: elif орнына бірнеше if қолдану (барлығы тексеріледі).
x = 5
if x > 0:
print("оң")
if x > 2:
print("2-ден үлкен") # Бұл да орындалады
Дұрысы: тек бір тармақ орындалады.
if x > 0:
print("оң")
elif x > 2:
print("2-ден үлкен") # орындалмайды
Қате: else-тен кейін шарт жазуға болмайды.
Қате: тапсырма = мен салыстыру == шатастыру.
# if x = 5: # SyntaxError
if x == 5:
print("x 5-ке тең")