Пример кода из лекции. По прохождении курса, скорее всего, вы будете понимать, что здесь написано.. Я надеюсь:)
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) # можем округлять переменную до нужного нам числа знаков после запятой
Самый простой способ - использовать функцию print
a = 45
print(a)
А если хотим вывести две переменные? Можно так:
a = 10
b = "Hi"
print (a, b)
А можно так:
a = 10
b = "Hi"
print (str(a) + ", " + str(b) )
Самое простое - читать, что нам ввели с клавиатуры
a = input()
a # теперь a хранит значение, которое ввел пользователь
a = input() # а если хотим получить число?
int(a) # преобразование того, что хранится в a к целочисленной переменной
float(a) # преобразование того, что хранится в a к вещественной переменной
str(a) # преобразование того, что хранится в a к строковой переменной
Чтобы понимать часть происходящих далее вещей, полезно понимать операторы присваиввания.
x = 3
y = 5
z = x + y # создаём новую переменную z и присваиваем ей значение суммы x и y
z
x = 3
y = 5
x = x + y # оператор + создаёт новый объект, равный сумме x и y, а оператор = присваивает новый объект переменной x
x
x = 3
y = 5
x += y # оператор += обновляет переменную x, добавляя к её значению значение y. Эквивалент: x = x + y
x
Другие операторы присваивания:
x, y, z = 3, 4, 5 #Оператор = может работать сразу с несколькими переменными и значениями! (обязательно с запятыми)
a, b, c = 1, 2, 3
z -= x # z = z - x
print('z =', z)
y *= x # y = y * x
print('y =',y)
x //= x # x = x // x
print('x =',x)
c %= b # c = c % b
print('c =',c)
b **= b # b = b**b
print('b =',b)
А вот так в питоне запросто можно обменять значения двух переменных:
x = 3
y = 5
x, y = y, x #Правда ведь красиво?
print(x,y)
Переменные логического типа могут хранить два значения - True и False
a = True
b = False
a and b # и
a or b # или
not a # отрицание
Результаты сравнений переменных принимают значения типа bool.
В Python существуют следующие операторы сравнения:
Смотрите сами:
print(5 == 7)
print(8 > 0)
print(-10 <= 9)
print('Курица' == 'Птица')
print('делать мне' > 'Нечего') # Как может работать сравнение строк?
print('Делать мне' > 'Нечего') # Как может работать сравнение строк?
print('Лекция' != 'Семинар')
print(3.0 == 3) # Python может даже сравнивать разные типы данных!
a = 0.3 + 0.3 + 0.3
a
0.9 == a
eps = 0.00001
abs(0.9 - a) < eps
Строковые переменные хранят строки..
a = "Hello, "
b = "world"
a
a + b # сложение строк, называется "конкатенация"
print(a+b)
a - b # не, ну а вы что ожидали?
a * b # однако кто ищет..
a * 5 # тот всегда найдет! нечасто такое нужно, правда
a[0] # у строки можно взять какой-то определенный символ, отсчет с нуля..
a[0:5] # или несколько, называется "срез"
c = a + b
c
path_to_dir = "abs/"
filename = "name"
file_ext = ".txt"
path = path_to_dir + filename + file_ext
path = "{}{}{}".format(path_to_dir, filename,
file_ext)
print(path)
pi = 3.141592653589793
r = input()
r = int(r)
r
r = input()
r = int(r)
length = 2 * pi * r
print(length)
print("{}".format(length))
print("{:.3f}".format(length))
print("{:.6f}".format(length))
float(5)
a = "Hello, world"
len(a)