Пример кода из лекции. По прочтении тетради, скорее всего, вы будете понимать, что здесь написано.. Я надеюсь:)
max_iters = 1000
eps = 1e-10
A = input()
A = float(A)
approx_x = A / 2
for it in range(max_iters):
prev_approx_x = approx_x
approx_x = 1 / 2 * (approx_x + A / approx_x)
if abs(prev_approx_x - approx_x) < eps:
break
print(approx_x)
Каждый язык программирования (за редким исключением ) реализует в себе набор базовых инструкций, позволяющих писать программы
Переменная - поименованная область памяти, который хранит значение какого-то типа.
Проще говоря - мы взяли ящик, положили в него кошку Василису и назвали этот ящик cat. cat теперь переменная.
Python, как и множество других подобных ему языков, реализует множество типов данных, которые наиболее часто встречаются программисту и наиболее часто им используются при решении задач. К таким типам относятся:
a = 11 # мы присвоили целочисленное значение нашей переменной
b = 5 # ну и вторую для порядку
Над целыми числами можно выполнять множество математических операций
a - b # вычитание
a + b # сложение
a * b # умножение
С делением чуть посложнее, если хотим продолжить работать с целыми числами:
a // b # целочисленное деление
a % b # остаток от целочисленного деления
a ** b # возведение в степень
abs(-10) # взятие модуля
Числа с плавающей запятой в Python - способ хранения значений вещественных чисел
a = 10 / 2 # выполняем обычное деление
a
Заметьте, что a поменяла свой тип, это одна из фишек Python - переменная может спокойно менять свой тип. Переменным с вещественным типом доступны те же операции
b = 5.2
a - b
a + b
a * b
a / b
a ** 0.5
b // a # ТАК МОЖНО, НО НЕ НУЖНО!!!
round(a ** 0.5, 2) # можем округлять переменную до нужного нам числа знаков после запятой
Переменные логического типа могут хранить два значения - True и False
a = True
b = False
a and b # и
a or b # или
not a # отрицание
Строковые переменные хранят строки..
a = "Hello, "
b = "world"
a
a + b # сложение строк, называется "конкатенация"
a - b # не, ну а вы что ожидали?
a * b # однако кто ищет..
a * 5 # тот всегда найдет! нечасто такое нужно, правда
a[0] # у строки можно взять какой-то определенный символ, отсчет с нуля..
a[0:5] # или несколько, называется "срез"
c = a + b
c
# Очень полезная функция - разбить строку
a1, b1 = c.split() # по пробелу
a1
b1
a2, b2 = c.split(", ") # по какой-то строке
a2
b2
Самое простое - читать, что нам ввели с клавиатуры
a = input()
a # теперь a хранит значение, которое ввел пользователь
a = input() # а если хотим получить число?
int(a) # преобразование того, что хранится в a к целочисленной переменной
float(a) # преобразование того, что хранится в a к вещественной переменной
str(a) # преобразование того, что хранится в a к строковой переменной
Самый простой способ - использовать функцию print
a = 45
print(a)
А если хотим вывести две переменные? Можно так:
a = 10
b = "Hi"
print (a, b)
А можно так:
a = 10
b = "Hi"
print (str(a) + ", " + str(b) )
Строго говоря, такая одна - if .. else
# Не запускать, просто пример
if condition:
do_smth1
else:
do_smth2
a = input()
a = int(a)
if a > 10:
print("a is greater than 10")
else:
print("a is less than 10")
else часть можно опускать
a = input()
a = int(a)
if a % 2 != 0:
a = a - 1
print(a)
Чаще всего используется цикл for, второй цикл (while, разберем в другой раз). И тут разберем его простешую форму
for i in range(100): # делать 100 раз, i примет значения от 0 до 99
if i % 17 == 0:
print(i)
Два важных соуса к for - это операторы break и continue
break позволяет досрочно выйти из цикла
# Проверка того, что число простое
a = input()
a = int(a)
if a > 1:
is_prime = True
for i in range(2, a): # итерироваться, начиная с 2 и заканчивая a - 1
if a % i == 0: # если число делится на что-то из этого без остатка,
# то оно не простое
is_prime = False
break # можем досрочно завершить цикл,
# у нас нет смысла что-либо проверять дальше
else:
is_prime = False
print(is_prime)
continue позволяет досрочно перейти к следующей итерации цикла
for i in range(5):
if i == 2:
continue
print(i)
С Python можно общаться интерактивно:
Для этого:
Если вы на Windows, то откройте Far Manager и там наберите команду python
Если вы на Mac/Linux, то откройте терминал и введите python там.
Интерпретатор - удобный способ для проверки того, что маленькие части вашего кода работают.
Второй способ - Jupyter Notebook (http://jupyter.org), но это для тех, кому интересно. Вторая часть этой лекции сделана в нем.
а мы сюда точно доберемся?..
Откройте интерпретатор и введите bruce + 4.
Вы увидите сообщение об ошибке
NameError: name ’bruce’ is not defined
Присвойте переменной bruce значение так, чтобы bruce + 10 стало равным 10.
bruce + 4
bruce = 0
bruce + 10
Пользователь вводит через стандартный ввод одну из четырех букв (A, T, G, C), программа заменяет ее на U, если была введена T, и возвращает исходную в остальных трех случаях.
character = input()
if character == "T":
character = "U"
print (character)