- Ввод и вывод данных
- Типы данных
- Приведение типов
- Функция print
- Функция input
- Решение задач
- ЗАДАЧИ НА ВВОД И ВЫВОД
- Занятие 2. Условия
- Задача «Ход ферзя»
- Задача «Ход коня»
- Задача «Шоколадка»
- Задача «Яша плавает в бассейне»
- Занятие 3. Вычисления
- Задача «Последняя цифра числа»
- Задача «МКАД»
- Задача «Дробная часть»
- Задача «Автопробег»
- Задача «Стоимость покупки»
- Задача «Разность времен»
- Задача «Улитка»
- Задача «Число десятков»
- Задача «Сумма цифр»
- Задача «Гипотенуза»
- Задача «Часы — 1»
- Задача «Часы — 2»
- Задача «Часы — 3»
- Задача «Проценты»
Ввод и вывод данных
Переменной в программировании называется именованный контейнер для некоторого значения. Представьте себе ящик с наклееным на него стикером. Вы кладете что-нибудь в ящик и пишете на стикере короткое имя без пробелов и знаков препинания, начинающееся с буквы английского алфавита, примерно так же работает переменная в программировании.
a и А — это разные переменные, регистр ввода имеет значение
Типы данных
Информация получаемая нами с помощью различных органов чувств делится на зрительную, слуховую, обонятельную, осязательную и другие. В программировании так же есть свое разделение, разделение на типы данных. Примитивных типов данных в Python 4:
int — целочисленный тип (1, 192, 781287)
float — вещественный (дробный) (1.12312, 1231.12378718)
str — строковый тип (обязательно пишется в кавычках) (‘Hello world’)
bool — булевый тип (имеет всего два значения: True и False)
Приведение типов
Приведением типов данных называется преобразование одного типа в другой, например, строку в число, число в строку, число в булеву переменную, строку в дробь и так далее.
a = 10
b = str (a) # b — это строка
с = int (b) # c — это снова число
d = 10.78
e = int (d) # e равно 10
Функция print
Функция print выводит переданные в неё аргументы в стандартный поток вывода. Что же такое стандартный поток вывода? Standart output или stdout называется потоком вывода, местом, куда мы выводим наш текстовый контент. По умолчанию стандартный поток вывода равен sys.stdout и поэтому вывод осуществляется в консоль.
Функция print все переданные в неё аргументы в стандартный поток вывода. Например:
print ( 1 )
print ( ‘Hello world!’ )
print ( False )
print ( 1.5 , 2.0 , 10 , True , ‘username’ )
print ( ‘Hello’ + ‘ ‘ + ‘world’ + ‘!’ )
# 1
# Hello world!
# False
# 1.5 2.0 10 True username
# Hello world!
На этом тривиальном примере мы видим две вещи. Во-первых, каждый print переносит поток вывода на новую строчку. Во-вторых, аргументы, переданные в функцию print выводятся через пробел.
# Во-первых:
print ( 1 )
print ( 2 )
# 1
# 2
# Во-вторых:
print ( ‘Hello’ , ‘world’ )
# Hello world
В обоих случаях мы можем изменить стандартное поведение. Рассмотрим первый параметр функции print — end, в него передается строка, которая напечатается после всех аргументов функции print.
print ( 1 , end = ‘ ‘ )
print ( 2 , end = ‘ ‘ )
print ( 3 , end = ‘ ‘ )
# 1 2 3
print ( 1 , end = » — » )
print ( 2 , end = ‘-‘ )
print ( 3 , end = » — » )
# 1-2-3-
print ( 1 , end = ‘-я выведусь после первого print-‘ )
print ( 2 , end = ‘-a я после второго-‘ )
print ( 3 , end = ‘-я выведусь после третьего-‘ )
# 1-я выведусь после первого print-2-a я после второго-3-я выведусь после третьего-
Рассмотрим второй параметр функции print — sep, sep от английского separator (разделитель). По умолчанию параметр sep равен ‘ ‘. Время для экспериментов ╰(▔∀▔)╯.
print ( 1 , 2 , 3 , 4 )
print ( 1 , 2 , 3 , 4 , sep = ‘+++’ )
print ( 1 , 2 , 3 , 4 , sep = ‘разделитель’ )
print ( 1 , 2 , 3 , 4 , sep = ‘(◕‿◕)’ )
print ( 1 , 2 , 3 , 4 , sep = ‘(ノ◕ヮ◕)ノ*:・゚✧’ )
# 1 2 3 4
# 1+++2+++3+++4
# 1разделитель2разделитель3разделитель4
# 1(◕‿◕)2(◕‿◕)3(◕‿◕)4
# 1(ノ◕ヮ◕)ノ*:・゚✧2(ノ◕ヮ◕)ノ*:・゚✧3(ノ◕ヮ◕)ノ*:・゚✧4
Функция input
Функция input является функцией стандартного ввода (stdin). Ее главная задача — это передача введенных пользователем данных в функцию.
name = input ()
print ( ‘Hello, ‘ + name)
Функция input может принимать всего лишь один аргумент — строку, которая выведется перед кареткой ввода
name = input ( ‘Enter your name: ‘ )
print ( ‘Hello, ‘ + name)
Функция input возвращает строковый тип данных
Строки можно складывать друг с другом — это называется конкатенацией или объединением
number = input ()
print (type(number))
#
Поэтому если мы напишем такой код, то он будет работать некорректно:
number1 = input ()
number2 = input ()
print (number1 + number2)
# Ввод:
# 1
# 2
# Вывод:
# 12
Поэтому необходимо преобразовать строковый тип в целочисленный (str в int)
number1 = int ( input ())
number2 = int ( input ())
print (number1 + number2)
# Ввод:
# 1
# 2
# Вывод:
# 3
Всегда проверяйте тип полученных данных, это поможет вам избежать большого количества ошибок. К слову, если вы что-то напутали с типами переменных, то Python выдаст ошибку TypeError (ошибка типа)
Решение задач
1. Поэкспериментируйте с переводом в различные типы данных
2. Пользователь вводит свое имя и фамилию. Выведите:
Hello, имя фамилия
# На месте слов с % должны быть введенные данные
3. Посчитайте сумму трех введенных целых чисел
4. Посчитайте сумму трех введенных дробных чисел. Подумайте в какой тип данных нужно преобразовать значение, возвращенное функцией input
5. Дано число, выведите предыдущее и следущее за ним числа в таком формате:
# Число равно 10
Число предшествующее числу 10 равно 9
Число следующее за числом 10 равно 11
6. Вводятся имя и возраст. Выведите, где введенное имя = Максим, а возраст = 20
Привет, Максим! Ваш возраст равен 20 !
ЗАДАЧИ НА ВВОД И ВЫВОД
- Задача prinp001 Задайте в программе три переменные с любым именем и значениями 5, 10, 15.
- Задача prinp002 Задайте в программе три переменные с любым именем и значениями 15, 10, 0. Выведите на экран их произведение.
- Задача prinp003 Создайте две переменных и введите в них данные с клавиатуры. Напишите простейший калькулятор, который умножает, делит, складывает, вычитает эти два числа, выведите результаты на экран.
- Задача prinp004 Пользователь вводит число. Выведите на экран десятичное, двоичное, восьмеричное и шестнадцатеричное представление этого числа с помощью функций bin(), oct(), hex().
- Задача prinp005 Пользователь вводит три числа a, b, c. Создайте переменную f, в которую запишите результат выражения: (a * b) + (a * c). Возведите полученное число в третью степень и результат разделите на два. Выведите его на экран.
- Задача prinp006 Создайте две символьных переменных a и b. Занесите в них слова «Вторник» и «Понедельник». Выведите слова так, чтобы понедельник шёл перед вторником и между ними находилась запятая с пробелом («, «)
- Задача prinp007 Запросите у пользователя имя с помощью input(«Введите ваше имя: «). Поприветствуйте его.
- Задача prinp008 Спросите у пользователя имя, возраст, место проживания и страну проживания. Оформите вывод таким образом: «Уважаемый ИМЯ! На сегодняшний день Вы проживаете в стране СТРАНА, в городе МЕСТО_ПРОЖИВАНИЯ, и вы родились в ТАКОМ_ТО_ГОДУ».
- Задача prinp009 Если мы присвоим переменной s знак «*» (s = «*»), а потом выведем значение переменной s, умножив его на 5 (print(s * 5)), то Питон выведет 5 «звёздочек». Попробуйте, оперируя пробелами, звёздочками и множеством команд print() вывести на экран ёлку. Что-то вроде этого: * *** ***** *** ******* ***** ********* ***********
Если вы учитель информатики государственной школы или занимаетесь репетиторством в индивидуальном порядке, то можете использовать тексты задач без ограничений.
Решение большинства задач также возможно и на других языках программирования (Java, C++, Pascal и т.д.)
Занятие 2. Условия
x1=int(input())
y1=int(input())
x2=int(input())
y2=int(input())
if ((x1-x2)==(y1-y2)):
print(‘YES’)
elif ((x1-x2)==(y2-y1)):
print(‘YES’)
else:
print(‘NO’)
Задача «Ход ферзя»
x1 = int(input())
x2 = int(input())
y1 = int(input())
y2 = int(input())
if x1 == y1 or x2 == y2 or (x1 + x2 == y1 + y2) or (x1 — x2 == y1 — y2):
print(‘YES’)
else:
print(‘NO’)
Задача «Ход коня»
x1 = int(input())
x2 = int(input())
y1 = int(input())
y2 = int(input())
if (x1 == y1 + 2 or x1 == y1 — 2) and (x2 == y2 + 1 or x2 == y2 — 1):
print(‘YES’)
elif (x1 == y1 + 1 or x1 == y1 — 1) and (x2 == y2 + 2 or x2 == y2 — 2):
print(‘YES’)
else:
print(‘NO’)
Задача «Шоколадка»
Задача «Яша плавает в бассейне»
n = int(input())
m = int(input())
x = int(input())
y = int(input())
if n > m:
n, m = m, n
if x >= n / 2:
x = n — x
if y >= m / 2:
y = m — y
if x < y:
print(x)
else:
print(y)
Занятие 3. Вычисления
Задача «Последняя цифра числа»
Задача «МКАД»
a = int(input())
b = int(input())
print((a * b) % 109)
Задача «Дробная часть»
Задача «Автопробег»
from math import ceil
n = int(input())
m = int(input())
print(ceil(m / n))
Задача «Стоимость покупки»
a = int(input())
b = int(input())
n = int(input())
cost = n * (100 * a + b)
print(cost // 100, cost % 100)
Задача «Разность времен»
a = int(input())
b = int(input())
c = int(input())
x = int(input())
y = int(input())
z = int(input())
print((x-a)*3600 + (y-b)*60 + z — c)
Задача «Улитка»
h = int(input())
a = int(input())
b = int(input())
print(int((h — a — 1) // (a — b) + 2))
Задача «Число десятков»
n = int(input())
print(n // 10 % 10)
Задача «Сумма цифр»
n = int(input())
a = n // 100
b = n // 10 % 10
c = n % 10
print(a + b + c)
Задача «Гипотенуза»
import math
a = int(input())
b = int(input())
c = math.sqrt(b*b + a*a)
print(c)
Задача «Часы — 1»
h = int(input())
m = int(input())
s = int(input())
print(h * 30 + m * 30 / 60 + s * 30 / 3600)
Задача «Часы — 2»
a=float(input())
print(a % 30 * 12)
Задача «Часы — 3»
a = float(input())
print(int(a // 30), int(a % 30 * 2), int(a % 0.5 * 120))
Задача «Проценты»
p = int(input())
x = int(input())
y = int(input())
m_b = 100 * x + y
m_a = int(m_b * (100 + p) / 100)
print(m_a // 100, m_a % 100)