Файл: Типы данных и функции вывода.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.10.2023

Просмотров: 402

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Onlinegdb.com – онлайн компилятор PythonИспользованы материалы сайта https://www.coursera.org/learn/python-osnovy-programmirovaniya/home/week/1Типы данных и функции вывода Sep – разделительEnd – что будет печататься в конце.По умолчанию sep – это пробел, end – перевод строки.Переменные и арифметические выраженияa**b а в степени ba // b целочисленное деление а на b (целая часть от деления)a % b остаток от деления а на b Speed, time, dist – переменные. Имя переменной не должно совпадать со стандартной функцией языка Python. Лучше давать переменным осмысленные имена.Операции над строкамиСтроки также можно сохранять в переменные и использовать в некотором ограниченном количестве выражений. В частности, можно склеивать две строки с помощью операции +: Чтение данныхМожно умножить строку на целое неотрицательное число, в результате получится исходная строка, повторенная заданное число раз: Программы, которые умеют только писать, но не умеют читать, редко представляют интерес для пользователей. Узнавать что-то из внешнего мира наши программы будут с помощью функции input(). Эта функция считывает строку из консоли, чтобы закончить ввод строки нужно нажать Enter. Под строкой в данном случае понимается английское слово line, что означает "строка, оканчивающаяся переводом строки". Например, если в такую программу: ввести слово Python, то она напечатает I love Python.Во многих задачах нам требуется работать со введенными числами, а читать мы умеем только строки. Чтобы преобразовать строку, состоящую из цифр (и, возможно, знака "-" перед ними) в целое число можно воспользоваться функцией int (сокращение от английского integer, "целое число"). Например, решение задачи о сложении двух чисел будет выглядеть так: Функция int может быть применена не только к результату, возвращаемому функцией input, но и к произвольной строке.В строках могут быть не только буквы, цифры и прочие знаки препинания, но и, например, символы табуляции и перевода строки. Чтобы использовать эти символы в константной строке в коде программы необходимо записывать их как \t и \n соответственно. Использование бэкслеша перед символом называется экранирование. Также существуют и другие символы, которые требуют бэкслеша перед собой. Например, это кавычки \' и \'' (использование бэкслеша просто необходимо, если в строке используются оба типа кавычек), а также, собственно, символ бэкслеша, который надо записывать как \\.В случае считывания с помощью input символы в консоли экранировать не нужно.Задача 1Hello Задание по программированию: Пингвины Напишите программу, которая по данному числу N от 1 до 9 выводит на экран N пингвинов. Изображение одного пингвина имеет размер 5×9 символов, между двумя соседними пингвинами также имеется пустой (из пробелов) столбец. Разрешается вывести пустой столбец после последнего пингвина. Для упрощения рисования скопируйте пингвина из примера в среду разработки.Формат вводаВводится натуральное число.Примечания В задачах нашего курса не нужно проверять ограничения входных данных: гарантируется, что введут данные, соответствующие условию. Т. е. например в этой задаче введенное число N точно будет не меньше 1 и не больше 9. Напоминаем, что во всех задачах этого курса решения должны выдавать в точности требуемый ответ. В частности, не надо выводить призыв к вводу вроде "Введите количество пингвинов". Пожалуйста, протестируйте свое решение на примерах ввода/вывода, а также придумайте свои удовлетворяющие условию примеры и протестируйте свое решение на них. Учтите, что вывод данных на экран производится построчно, а не попингвинно. Не забудьте, что для вывода бекслеша надо написать два бекслеша подряд. m = int(input())s1 = " _

Задание по программированию: Следующее и предыдущее

Примеры использования логических выражений

Условный оператор

Вложенный условный оператор и "иначе-если"

Вложенный условный оператор

Конструкция ''иначе-если''

Задание по программированию: Какое число больше?

Задание по программированию: Максимум трех чисел

Задание по программированию: Високосный год

Тренировочное задание по программированию: Ход короля

Тренировочное задание по программированию: Квартиры

Задание по программированию: Коровы

Задание по программированию: Упорядочить три числа

Задание по программированию: Сколько совпадает чисел

Тренировочное задание по программированию: Цвет клеток шахматной доски

Тренировочное задание по программированию: Шоколадка

Задание по программированию: Коровы

Задание по программированию: Узник замка Иф

Цикл while

Задание по программированию: Список квадратов

Задание по программированию: Минимальный делитель

Тренировочное задание по программированию: Список степеней двойки

Задание по программированию: Утренняя пробежка

Задание по программированию: Максимум последовательности

Подсчет суммы и оператор continue

Задание по программированию: Сумма квадратов

Задание по программированию: Длина последовательности

Задание по программированию: Сумма последовательности

Задание по программированию: Максимальное число подряд идущих равных

Задание по программированию: Количество четных элементов последовательности

Задание по программированию: Второй максимум

Задание по программированию: Количество элементов, равных максимуму

Как устроены вещественные числа

Основы работы с вещественными числами

Проблемы вещественных чисел

Округление вещественных чисел

Задание по программированию: Округление по российским правилам

Задание по программированию: Проценты

Задание по программированию: Квадратное уравнение - 1

Задание по программированию: Система линейных уравнений - 1

Срезы строк

Метод find

Задание по программированию: Делаем срезы

Задание по программированию: Первое и последнее вхождение

Задание по программированию: Удаление фрагмента

Задание по программированию: Второе вхождение

Задание по программированию: Переставить два слова

Методы rfind, replace и count

Задание по программированию: Количество слов

Задание по программированию: Замена подстроки

Задание по программированию: Удаление символа

Функции

Использование функций

Вызовы функций из функции

Задание по программированию: Минимум 4 чисел

Возврат значений

Возврат нескольких значений функцией

Возврат логических значений

Задание по программированию: Принадлежит ли точка квадрату - 1

Задание по программированию: Принадлежит ли точка кругу

Задание по программированию: Минимальный делитель числа

Локальные и глобальные переменные

Задание по программированию: Проверка числа на простоту

Рекурсия

Использование рекурсии

Задание по программированию: Возведение в степень

Задание по программированию: Сложение без сложения

Задание по программированию: Быстрое возведение в степень

Задание по программированию: Сократите дробь

Задание по программированию: Сумма последовательности

Задание по программированию: Разворот последовательности

Кортежи

Функция range, цикл for

Функция range

Цикл for

Задание по программированию: Ряд - 1

Задание по программированию: Ряд - 2

Задание по программированию: Флаги

Задание по программированию: Лесенка


Onlinegdb.com – онлайн компилятор Python

Использованы материалы сайта https://www.coursera.org/learn/python-osnovy-programmirovaniya/home/week/1

Типы данных и функции вывода



Sep – разделитель

End – что будет печататься в конце.

По умолчанию sep – это пробел, end – перевод строки.

Переменные и арифметические выражения

a**b а в степени b

a // b целочисленное деление а на b (целая часть от деления)

a % b остаток от деления а на b



Speed, time, dist – переменные. Имя переменной не должно совпадать со стандартной функцией языка Python. Лучше давать переменным осмысленные имена.

Операции над строками

Строки также можно сохранять в переменные и использовать в некотором ограниченном количестве выражений. В частности, можно склеивать две строки с помощью операции +:



Чтение данных

Можно умножить строку на целое неотрицательное число, в результате получится исходная строка, повторенная заданное число раз:



Программы, которые умеют только писать, но не умеют читать, редко представляют интерес для пользователей. Узнавать что-то из внешнего мира наши программы будут с помощью функции input(). Эта функция считывает строку из консоли, чтобы закончить ввод строки нужно нажать Enter. Под строкой в данном случае понимается английское слово line, что означает "строка, оканчивающаяся переводом строки". Например, если в такую программу:



ввести слово Python, то она напечатает I love Python.

Во многих задачах нам требуется работать со введенными числами, а читать мы умеем только строки. Чтобы преобразовать строку, состоящую из цифр (и, возможно, знака "-" перед ними) в целое число можно воспользоваться функцией int (сокращение от английского integer, "целое число"). Например, решение задачи о сложении двух чисел будет выглядеть так:



Функция int может быть применена не только к результату, возвращаемому функцией input, но и к произвольной строке.

В строках могут быть не только буквы, цифры и прочие знаки препинания, но и, например, символы табуляции и перевода строки. Чтобы использовать эти символы в константной строке в коде программы необходимо записывать их как \t и \n соответственно. Использование бэкслеша перед символом называется экранирование. Также существуют и другие символы, которые требуют бэкслеша перед собой. Например, это кавычки \' и \'' (использование бэкслеша просто необходимо, если в строке используются оба типа кавычек), а также, собственно, символ бэкслеша, который надо записывать как \\.

В случае считывания с помощью input символы в консоли экранировать не нужно.

Задача 1

Hello


Задание по программированию: Пингвины


Напишите программу, которая по данному числу N от 1 до 9 выводит на экран N пингвинов. Изображение одного пингвина имеет размер 5×9 символов, между двумя соседними пингвинами также имеется пустой (из пробелов) столбец. Разрешается вывести пустой столбец после последнего пингвина. Для упрощения рисования скопируйте пингвина из примера в среду разработки.

Формат ввода

Вводится натуральное число.

Примечания

  • В задачах нашего курса не нужно проверять ограничения входных данных: гарантируется, что введут данные, соответствующие условию. Т. е. например в этой задаче введенное число N точно будет не меньше 1 и не больше 9.

  • Напоминаем, что во всех задачах этого курса решения должны выдавать в точности требуемый ответ. В частности, не надо выводить призыв к вводу вроде "Введите количество пингвинов". Пожалуйста, протестируйте свое решение на примерах ввода/вывода, а также придумайте свои удовлетворяющие условию примеры и протестируйте свое решение на них.

  • Учтите, что вывод данных на экран производится построчно, а не попингвинно.

  • Не забудьте, что для вывода бекслеша надо написать два бекслеша подряд.



m = int(input())
s1 = " __ "

s2 = " (o o) "
s3 = " / V \ "
s4 = " /( _ )\ "
s5 = " ^^ ^^ "
print(m*s1)
print(m*s2)
print(m*s3)
print(m*s4)
print(m*s5)

Задача 2

Дележ яблок



Решение

N = int(input())
K = int(input())
print(K // N)

Задача 3

Дележ яблок – 2



Примеры решения задач

Пусть первый товар стоит а руб. b коп., второй товар с руб. d коп. Нужно найти общую стоимость этих товаров в рублях и копейках.

В нашей задаче наименьшей единицей являются копейки, поэтому все цены следует перевести в них, затем сложить их, а затем перевести результат обратно в рубли и копейки. Код решения будет выглядеть так:



Для определения количества рублей нужно разделить цену в копейках на 100 нацело, а для определения оставшегося числа копеек - посчитать остаток от деления на 100.

Следующая задача: Вася играет в Super Mario Bros. очень хорошо и получил N дополнительных жизней. Известно, что переменная, в которой хранится количество жизней может принимать значения от 0 до 255. В случае, если было 255 жизней и игрок получил дополнительную жизнь, счетчик обнуляется. Сколько жизней на счетчике?

В этой задаче достаточно посчитать остаток от деления введенного числа на 256. Такие действия часто требуются, например, при работе со временем (при переходе через сутки счетчик времени обнуляется). Решение задачи выглядит так:

n = int(input())

print(n % 256)

Степень двойки



n = int(input())
print(2 ** n)

Последняя цифра



n = int(input())
print()
print(n % 10)

Первая цифра двузначного числа



n = int(input())
print()
print(n // 10)

Вторая справа цифра



n = int(input())
n = n // 10
print()
print(n % 10)

Сумма цифр трехзначного числа





n = int(input())
c = n % 10
n = n // 10
b = n % 10
n = n // 10
print()
print(n + b + c)

100A

Запишите букву 'A' (латинскую, заглавную) 100 раз подряд. Сдайте на проверку программу, которая выводит эту строчку (только буквы, без кавычек или пробелов).

print("A"*100)

Электронные часы 1



n = int(input())
n = n % 1440
print(n // 60, n % 60, sep=' ')

Пример

Удалить из числа n справа k цифр.



Стоимость покупки



a = int(input())
b = int(input())
n = int(input())
c = n * (a * 100 + b)
print(c // 100, c % 100, sep=' ')

Задание по программированию: Следующее и предыдущее


Напишите программу, которая считывает целое число и выводит текст, аналогичный приведенному в примере (важно в точности соблюдать вывод программы: обратите внимание на пробелы и на точки). Нельзя пользоваться конкатенацией строк, используйте print с несколькими параметрами.

Формат ввода

Вводится целое число (гарантируется, что число находится в диапазоне от -1000 до +1000).

Формат вывода

Выведите две строки, согласно образцу.

Примеры

Тест 1

Входные данные:

179

Вывод программы:

The next number for the number 179 is 180.

The previous number for the number 179 is 178.

Следующее и предыдущее

Решение

n =int(input())

print("The next number for the number",n,"is",str(n+1)+".")

print("The previous number for the number",n,"is",str(n-1)+".")

0 в 1 и наоборот



n = int(input())
print(n ^ 1)

Следующее четное



Решение

n = int(input())

A = n % 2

B = n + 2 - A

print(B)

100 раз подряд в квадрате



Решение

n = input()
print(int(n * 100)**2)

МКАД



Решение

v = int(input())
t = int(input())
s = (v * t) % 109
print(s)

Электронные часы – 2



Решение

t = int(input())
sec = t % 60
t = t // 60
mm = t % 60
t = (t // 60) % 24
print('{}:{:02}:{:02}'.format(t, mm, sec))

format в команде print – это вывод по заданному формату.

Разность времен



Решение

h1 = int(input())
m1 = int(input())
s1 = int(input())
h2 = int(input())
m2 = int(input())
s2 = int(input())
t1 = h1 * 3600 + m1 * 60 + s1
t2 = h2 * 3600 + m2 * 60 + s2
print(t2 - t1)

Автопробег




Решение

n = int(input())
m = int(input()) - 1
print(m // n + 1)

Улитка



Решение

Первое, что нам надо уяснить, это то, что улитка достигнет вершины днем. То есть в последний день он сделает шаг A вверх и вниз уже не пойдет. То есть кол-во дней будет на 1 меньше количества ночей.

А теперь составим уравнение, где x - это кол-во дней. А - высота подъема, В - спуск, H - высота шеста.

A*x - B*(x-1) = H

B умножается на x - 1, потому что ночей на один меньше

Из уравнения выше находим x

x = (H - B) / (A - B)

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

H = int(input())

A = int(input())

B = int(input())

x = ((H - B) - 1) // (A - B) + 1

print(x)

Симметричное число



Решение

A = int(input())
c1 = A // 1000
c2 = A % 1000 // 100
c3 = A % 1000 % 100 // 10
c4 = A % 10
S = abs(c1 - c4) + abs(c2 - c3)
print(S + 1)

Максимум из двух





Решение

a = int(input())
b = int(input())
m = (a + b + abs(a - b)) // 2
print(m)

Проверка на делимость



Решение

a = int(input())

b = int(input())

c = a % b

f = 0 ** c

print(('YES' * f) + ('NO' * (1 - f)))

Логический тип данных и операции

Логический тип данных

Кроме уже известных нам целочисленных и строковых типов данных в Питоне существует также логический тип данных, который может принимать значения "истина" (True) или "ложь" (False).

По аналогии с арифметическими выражениями существуют логические выражения, которые могут быть истинными или ложными. Простое логическое выражение имеет вид <арифметическое выражение> <знак сравнения> <арифметическое выражение>. Например, если у нас есть переменные x и y с какими-то значениями, то логическое выражение x + y < 3 * y в качестве первого арифметического выражения имеет x + y, в качестве знака сравнения < (меньше), а второе арифметическое выражение в нём 3 * y.