Примеры кода
Здесь же: пример оформления решения задачи. См. конец с примерами кода
# примеры кода
hello = 42
print(hello) # печатает 42 из
# переменной hello
print("hello") # текст для печати
# заводим переменные
x = 123 # такой переменной не было
# она создаётся
x = x + 1 # значение заменится
x = 123.456 # вещественные числа
s = "Ответ = " # строковое значение
print(s) # увидим, чему равен s
b = True # логические значения
f = False # всего 2: True, False
a = 2 + 3 # число 5
b = 3 * (5 + 7) # 36
с = 10 > 6 # True
x = 10
c = x > 6 # True
c = x > 6 and x < 20 # не нужны скобки
# True and True = True
print(True and False) # False
print(True or False) # True
print(not False) # True
c = 6 < x < 20 # это 6 < x and x < 20
print(2 + 2) # 4
print(2 - 2) # 0
print(2 * 2) # 4
print(10 / 3) # 3.333 вещественное деление
print(10 // 3)# 3 целоичесленное (div)
print(10 % 3)
print(34934 // 10) # 3493
print(34934 % 10) # 4 последняя цифра
print(10 > 20)
print(10 < 20)
print(10 <= 20)
print(10 >= 20)
print(10 == 20)
print(10 != 20) # проверка на неравенство
# == и != работают не только для чисел
print("abc" == "abc") # True
print("abc" != "abc") # False
# не пользуйтесь == и != для вещественных
# Условный оператор
# if УСЛОВИЕ:
# ДЕЙСТВИЯ, ЕСЛИ ИСТИНА
# ДЕЙСТВИЙ МОЖЕТ БЫТЬ НЕСКОЛЬКО
# ОНИ ПИШУТСЯ С ОТСТУПОМ 4 пробела
# (PEP 8)
x = 10
if x > 10:
print("много")
x = 10
if x > 10:
print("много")
print("очень много")
else:
print("мало")
print("очень мало")
# без отступа - вне условного оператора
print("x проверен")
# условия могут быть вложены:
print("----")
x = 10
if x > 10:
print("много")
if x > 100:
print("очень много") # еще отступ
else:
print("мало")
if x < 2:
print("очень мало")
print("x проверен")
print("----")
x = 10
if x > 100:
print("очень много")
elif x > 30:
print("многовато")
elif x > 10:
print("много")
else:
print("мало")
# группировка условий
x = 1
y = 4
if x == 1 and (y == 2 or y == 3):
# True and (False or False)
# True and False
# False
print("x равен один, а y равно 2 или 3")
else:
print("ошибка системы")
# строки, в которые вставлены значения
# выражений. "Интерполяция строк":
# (забудьте про оператор % для строк)
x = 42
print("У меня есть {x} кота")
print("У меня есть " + str(x) + " кота")
print(f"У меня есть {x} кота") # f"
x = 2 ** 0.5 # 2 в степени половина =
# корень из двух
print(f"корень из двух это {x}")
# как вывести ровно 2 знака после запятой
print(f"корень из двух это {x :.2f}")
# Оформление задач
# Если вы только начинаете изучать питон
# Пример, проверить, что последняя цифра
# числа равна трём
# начало файла
x = 98253 # это как будто число для проверки
# не вводите с клавиатуры
if x % 10 == 3:
print("последняя цифра равна 3")
else:
print("последняя цифра не 3")
# чуть-чуть более продвинуто
x = 34534
print(f"последняя цифра равна 3: {x % 10 == 3}")
# как делать надо, и мы будем все так делать начиная
# с третьего, четвертого занятия
def last_digit_is_3(x):
return x % 10 == 3
print(last_digit_is_3(34534))
print(last_digit_is_3(13))
print(last_digit_is_3(4))
print(last_digit_is_3(3))
Лекция 2
Тестирующая система
Задачи, часть 1, вводные
В этом списке не все задачи простые и коротко решаются, не беспокойтесь, если задача, особенно из конца списка, вызвала затруднение.
Все задачи из этого раздела можно решить только с помощью условного оператора if
. Но решения последних задач могут оказаться длинными, если не пользоваться другими возможностями Python.
- Дано число, проверить, что в нем ровно три цифры. тесты
- Дано число, проверить, верно ли, что у него на конце цифра 5. тесты
- Дано число, проверить, верно ли, что у него на конце две одинаковые цифры. тесты
- Високосный год Дан год, определить, високосный или нет. Обязательно прочитайте в википедии, что такое високосный год. тесты
- Коты Дано целое число. Верните строку, в которой к этому числу приписано существительное “кот” в правильной форме. Например, “1 кот”, “2 кота”, “5 котов”. тесты
- Квадратное уравнение Даны коэффициенты квадратного уравнения, целые числа a, b, c: \(ax^2+bx+c = 0\) Решите квадратное уравнение. Разберите все случаи, включая \(a = 0\). Верните ответ в виде одной из следующих строк: «решений нет», «одно решение x = …», «два решения x1 = …, x2 = …» или «решений бесконечно много». Округлите ответы до двух знаков после запятой. Если в уравнении два корня, сначала выведите меньший корень. тесты
- Квадратный трехчлен Даны три целых числа a, b, с, выведите многочлен ax^2+bx+с. Верните результат в виде строки.
Проделайте все традиционные упрощения, т.е. не умножайте на нули, единицы, не прибавляйте нули. Например,
poly(1,2,3) == "x^2+2x+3" poly(2,0,-1) == "2x^2-1" poly(0,0,0) = "0"
- Число в виде текста Дано целое число от 1 до 999, верните его в виде текста. Убедитесь, что вы не выводите двух пробелов подряд,
и пробелов в конце. тесты
- Длинное число в виде текста Решите задачу, при условии, что дано число от 1 до 999_999_999. тесты