2 Модуль. Переменные. Типы данных
Если в вашей программе присутствуют большие вычисления, то неудобно их записывать в виде одного длинного выражения, лучше вычислять его значения по частям, используя переменные для хранения промежуточных результатов.
Переменная — это некоторая ячейка в памяти, в которой хранится какое-то значение любого из возможных типов, например, число или строка. В переменную можно записать какое-то значение (это называется присвоить переменной значение). Для присваивания значения переменной используется операция =, где слева от знака присваивания записывается имя переменной, справа — присваиваемое значение, которое может быть числом, строкой, другой переменной, каким-то выражением. Значение переменной можно использовать при вычислениях или вывести его на экран при помощи функции print().
Пример
Пусть длина школьного урока хранится в переменной lesson_time, продолжительность перемены между уроками — rest_time, а количество уроков — n. Хотим вычислить сколько времени занимает заданное количество уроков, которое будет храниться в переменной total_time.
>>>lesson_time=45
>>>rest_time=15
>>>n=6
>>>total_time= lesson_time * n + (n - 1) * rest_time
>>>print(total_time)
345
Имя переменной (также называется идентификатором) — последовательность букв, цифр и символа подчёркивания, первым символом должна быть буква или символ подчёркивания. В языке Python допускаются буквы не латинского алфавита в качестве имён переменных, но следует ограничиваться только латинскими символами.
Имена переменных должны быть осмысленными и понятными, например, lesson_time или rest_time.
Пример
>>>a=14
>>>v=a
>>>a=7
>>>a=a + 3
>>>v=a + 3
>>>print(a, v)
10 13
Посмотрим, как работает данная программа. В первой строке переменной a присваивается значение 14, затем переменной v присваивается значение переменной a, то есть 14. При этом переменные существуют независимо друг от друга, поэтому при выполнении присваивания a = 7 значение переменной v не изменится.
При выполнении присваивания a = a + 3 вычисляется сначала правая часть выражения, равная в данном случае 10, после чего это значение присваивается переменной. При выполнении присваивания v = a + 3, аналогично вычисляется сначала правая часть выражения. В данном случае в переменной a хранится значение, равное 10, значит правая часть выражения будет равна 13. Именно это значение и будет хранится после присваивания в переменной v.
После этого значения переменных a и v можно вывести на экран при помощи функции print(a, v), которую мы позже рассмотрим подробнее.
Задача 1.
Не запуская код, ответьте на вопрос: что выведет на экран данная программа?
109
Задача 2.
Не запуская код, ответьте на вопрос: что выведет на экран данная программа?
24
Типы данных
Если мы присваиваем переменной a значение, равное 5, то переменная будет иметь значение типа int, который используется для целых чисел. При умножении, вычитании и сложении чисел этого типа мы получаем числа того же типа.
Мы уже сталкивались с тем, что при выполнении операции деления результатом будет дробное число. Если переменной b присвоить значение 10 / 2, при выводе на экран результата увидим число 5.0, которое равно числу 5, но имеет другой тип. Переменная b имеет значение типа float. Это специальный тип данных для представления действительных чисел, и при умножении, вычитании и сложении чисел этого типа мы получаем числа того же типа.
Еще один тип данных используется для работы со строками. Если мы присваиваем переменной с значение, равное 'Hello', то эта переменная будет иметь значение типа str. Строки тоже можно складывать. Однако операция сложения для целых чисел и для строк работает по-разному: для чисел это сложение, а для строк — конкатенация.
Основные операции над строками:
A + B — конкатенация, то есть соединение строк путём размещения строки B сразу после строки A;
A * n — повторение строки n раз, значение n должно быть целого типа.
Преобразование типов
Иногда полезно целое число записать как строку. И, наоборот, если строка состоит из цифр, то полезно эту строку представить в виде числа, чтобы дальше можно было выполнять арифметические операции с ней. Для этого используются функции, имя которых совпадает с именем типа, то есть int, float, str. Например, int('123') вернёт целое число 123, а str(123) вернёт строку '123'.
Пример:
>>>n=5
>>>price=15
>>>s=str(n) + "ручекстоят " + str(n * price) + "рублей"
>>>print(s)
5 ручек стоят 75 рублей
Пример:
>>>print(str(1 + 1) * int('1' + '1'))
22222222222
Результатом будет строка '2', повторенная 11 раз.
Задача 3.
Напишите программу, которая выводит слово 'Python' 1234 раза подряд (только буквы, без кавычек). Обратите внимание на регистр.
Задача 4.
Квадраты чисел из одних единиц выглядят красиво: 112=121, 1112=12321, 11112=1234321.
Напишите программу, которая будет выводить на экран число, равное квадрату числа, записанного при помощи 123123 единиц.
Задача 5.
Число 1510 записали 10 раз подряд. Полученное число возвели в квадрат.
Напишите программу, которая повторит указанные действия и выведет полученный результат.
Для считывания строки с клавиатуры используется функция input(), которая возвращает значение считанной строки. Например, можно считать значения двух строк следующим образом:
a = input()
b = input()
Правда, функция input() возвращает текстовую строку, а нам бывает нужно сделать так, чтобы переменные имели целочисленные значения. Поэтому сразу же после считывания выполним преобразование типов при помощи функции int и запишем новые значения в переменные a и b.
a=int(a)
b=int(b)
Можно объединить считывание строк и преобразование типов, если вызывать функцию int для того значения, которое вернёт функция input():
a=int(input())
b=int(input())
Далее в программе можно использовать значения переменных a и b для вычисления новых переменных или для вывода результата на экран. Теперь мы можем, не меняя исходного кода программы, многократно использовать её для решения различных задач. Для этого нужно запустить программу и после запуска ввести с клавиатуры два числа, нажимая после каждого клавишу Enter. Затем программа сама выведет результат.
Функция print() может выводить не только значения констант или переменных, но и значения выражений. Например, допустима такая запись:
print(a + b)
Задача 6.
Напишите программу, которая будет считывать два целых числа (каждое в отдельной строке) и выводить их сумму.
Задача 7.
Напишите программу, которая считывает значения двух переменных a и b, затем меняет их значения местами и выводит их значения на экран.
Начало и конец программы уже заданы в системе, вам необходимо сдать фрагмент кода, который будет вставлен системой в программу вместо многоточия. Использовать арифметические операции в этой задаче нельзя.
a=int(input())
b=int(input())
...
print(a)
print(b)
Напишите программу, которая считывает значения двух переменных a и b, затем меняет их значения местами и выводит их значения на экран. Данную задачу необходимо решить без использования каких-либо переменных, кроме a и b.
Начало и конец программы уже заданы в системе, вам необходимо сдать фрагмент кода, который будет вставлен системой в программу вместо многоточия.
a=int(input())
b=int(input())
...
print(a)
print(b)
Задача 8.
Напишите программу, которая считывает целое число и выводит текст, аналогичный приведенному в примере. Пробелы, знаки препинания, заглавные и строчные буквы важны!
Входные данные
Вводится целое число, по модулю не превосходящее 10000.
Выходные данные
Выведите сначала фразу "The next number for the number ", затем введенное число, затем слово " is ", окруженное пробелами, затем формулу для следующего за введенным числа, наконец, знак точки без пробела. Аналогично в следующей строке для предыдущего числа. При необходимости используйте параметр вывода sep в языке Python.
Примечание
Вывод необходимо организовать в две строки, по одному предложению в каждой. При выводе обращайте внимание на пробелы и регистр.