changed 5 years ago
Published Linked with GitHub

Тема 2
Типы данных и переменные. Ввод и вывод данных

© Яценко Р.Н., 2019-2020


1. Ввод и вывод данных


Вывод данных

Для печати значений в Питоне есть функция print()

Внутри круглых скобок через запятую мы пишем то, что хотим вывести


Пример 1

print(5 + 10)
print(3 * 7, (17 - 2) * 8)
print(2 ** 16)  # две звёздочки означают возведение в степень
print(37 / 3)  # один слэш — это деление с ответом-дробью
print(37 // 3)  # два слэша считают частное от деления нацело
                # это как операция div в других языках
print(37 % 3)  # процент считает остаток от деления нацело
               # это как операция mod в других языках

Выполнение


Ввод данных

Для ввода данных в программу мы используем функцию input()

Она считывает одну строку


Пример 2

print('Как вас зовут?')
name = input()  # считываем строку и кладём её в переменную name
print('Здравствуйте, ' + name + '!')

Выполнение


2. Типы данных


Элементы данных

Вся информация, хранящаяся в памяти компьютера, состоит из элементов данных, которые имеют форму чисел, символов и т.д.

Каждый такой элемент данных должен быть обозначен уникальным именем идентификатором и принадлежать к определенному типу данных


Константа

это элемент данных со значением, которое в ходе задачи не меняется


Переменная

это величина, которая имеет фиксированное имя (идентификатор) и значение, которое может изменяться в зависимости от применяемых действий


Создание констант и переменных

# Числовые константы 
LENGTH = 100
VES = 3.5
# Строковые константы 
MACHINE = 'Хонда'
TV_SET = 'Samsung'

# Числовые переменные 
date = 13
month = 9
# Строковые переменные 
message = 'С Днем программиста!'
comment = 'Сегодня 256-й день года'

Тип данных

Тип объекта определяет, какие действия можно делать с объектами этого типа:

  • возможные значения элементов данных (переменных и констант), принадлежащих к данному типу

  • внутреннюю форму представления элементов данных в памяти компьютера

  • операции и функции, которые могут выполняться над элементами данных, принадлежащими к данному типу


Основные типы данных в Python

  • Целые числа хранятся в объектах типа int

    4, 687, -45, 0

  • Дробные числа (вещественные числа) — в объектах типа float

    1.45, -3.789654, 0.00453

  • Строки хранятся в объектах типа str

    "ball", "What is your name?", 'dkfjUUv', '6589'


Операции над целыми числами

Знак Операция
+ сложение
- вычитание
* умножение
** возведение в степень
/ деление (дробный результат)
// деление нацело
% остаток от деления

Пример 3. Вычисления с целыми числами

print("18 - 4 + 2 =", 18 - 4 + 2)
print("6 * 3 =", 6 * 3)
print("19 / 4 =", 19 / 4)
print("107 // 4 =", 107 // 4)
print("107 % 4 =", 107 % 4)

Пример 3. Результат

18 - 4 + 2 = 16
6 * 3 = 18
19 / 4 = 4.75
107 // 4 = 26
107 % 4 = 3

Пример 4. Цифры трехзначного числа

a = int(input('Введите число')) 
one = a % 10
print('Цифра единиц числа', one)
dec = (a // 10) % 10
print('Цифра десятков числа', dec) 
hun = a // 100
print('Цифра сотен числа', hun)
rez = hun * 100 + dec * 10 + one
print('А это тоже число', rez)

Пример 4. Выполнение


Операции над дробными числами (float)

Знак Операция
+ сложение
- вычитание
* умножение
** возведение в степень
/ деление (дробный результат)

Пример 5. Бесполезные факты

name = input("Привет. Как тебя зовут? ")
age = input("Сколько тебе лет? ")
weight = int(input("Сколько в тебе килограммов? "))
seconds = age * 365 * 24 * 60 * 60
print("Твой нынешний возраст - свыше", seconds, "секунд.")
moon_weight = weight / 6
print("Знаете ли Вы, что на Луне вы весили бы всего",
    moon_weight, "кг?")
sun_weight = weight * 27.1
print("А вот находясь на Солнце, вы бы весили", sun_weight, 
    " кг. \n(Но, увы, это продолжалось бы недолго...)")

Пример 5. Результат

Привет. Как тебя зовут? Вася
Сколько тебе лет? 13
Сколько в тебе килограммов? 55
Твой нынешний возраст - свыше 409968000 секунд.
Знаете ли Вы, что на Луне вы весили бы всего 9.166666666666666 кг?
А вот находясь на Солнце, вы бы весили 1490.5  кг. 
(Но, увы, это продолжалось бы недолго...)

3. Преобразование типов


Зачем это нужно?

Часто возникает необходимость перейти от одного типа к другому. Например, выводимое на экран число print сначала преобразовывает в текст.

Бывают ситуации, когда нужно поменять тип без вывода информации на экран или осуществить преобразование строки в число.

Эта операция называется преобразованием типов


Пример 6

a = input()
b = input()
s = a + b
print(s)

Выполнение


Пример 7

a = int(input())
b = int(input())
s = a + b
print(s)

Выполнение


Функции преобразования

  • float() создает новое дробное число из строки или целого числа

  • int() создает новое целое число из строки или дробного числа

  • str() создает новую строку из числа (или значения любого другого типа)


Преобразование целого числа в дробное

a = 24
print(a)
b = float(a)
print(b)
24
24.0

Преобразование дробного числа в целое

a = 24.7
print(a)
b = int(a)
print(b)
c = round(a)
print(c)
24.7
24
25

4. Составные операторы присваивания


Форма записи

a = a * 5

можно записать так

a *= 5


Инкремент и декремент

Увеличение на единицу (инкремент)

x += 1

Уменьшение на единицу (декремент)

x -= 1


Таблица составных операторов

Оператор Образец Равносильно
+= x += 5 x = x + 5
-= x -= 5 x = x - 5
*= x *= 5 x = x * 5
/= x /= 5 x = x / 5
%= x %= 5 x = x % 5

5. Дополнительные параметры print


Функция print()

  • По умолчанию функция print() принимает несколько аргументов, выводит их через пробел, после чего ставит перевод строки

  • Это поведение можно изменить, используя именованные параметры:

    • sep (разделитель)
    • end (окончание)

Разделитель строк

Через параметр sep можно указать отличный от пробела разделитель строк:

print("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun", sep="-")
print(1, 2, 3, sep="//")
print("a", "b", "c", sep="")
Mon-Tue-Wed-Thu-Fri-Sat-Sun
1//2//3
abc

Конец строки

Параметр end позволяет указывать, что делать, после вывода строки. По-умолчанию происходит переход на новую строку. Однако это действие можно отменить, указав любой другой символ или строку:

print(10, end="")
print('+', end="")
print(20, end="")

10+20


Пример 8

print(1, 2, 3)
print(4, 5, 6)
print(1, 2, 3, sep=', ', end='. ')
print(4, 5, 6, sep=', ', end='. \n')
print(1, 2, 3, sep='', end=' -- ')
print(4, 5, 6, sep=' * ', end='.')
1 2 3
4 5 6
1, 2, 3. 4, 5, 6. 
123 -- 4 * 5 * 6.

Форматированный вывод

student = "Вася"
old = 18
grade = 9.2
print("Это %s, ему %d. Его оценка: %.1f" % (student, old, grade))

Это Вася, ему 18. Его оценка: 9.2

Вместо трех комбинаций символов %s, %d, %f подставляются значения переменных pupil, old, grade. Буквы s, d, f обозначают типы данных – строку, целое число, вещественное число

Перед буквой %f точку с числом указывает, сколько требуется знаков после запятой


Спасибо за внимание!

© Яценко Р.Н., 2019-2020

Select a repo