1.
int: -175, 0, 13, 175
float: -3.7, 0.03, 13.0, 957.31
2.
text = "Программа!"
# присвоим переменной text значение Программа! строкового типа
print(text [0:10])
# выведем на экран фрагмент переменной text с 0 по 9 номер символа
print(text [0:4])
# выведем на экран фрагмент переменной text с 0 по 3 номер символа
print(text [-2])
# выведем на экран второй с конца символ переменной text
print(text [::3])
# выведем на экран символы переменной text начиная с начала и заканчивая концом с шагом 3
Объяснение:
1.
int - целые числа любой длины, ограничиваются лишь доступной памятью
float - числа с плавающей точкой (вещественные, дробные) имеют ограниченную точность. На экране разницу между целым числом и числом с плавающей точкой можно заметить по наличию точки:
1 - целое число
1.0 - число с плавающей точкой
2.
Строки - последовательность символов. Для создания строки используются кавычки
Срез - извлечение из строки одного символа или некоторого фрагмента строки
Номера символов в строке начинаются с 0 и называются индексами
Срез с одним параметром (text [-2]) - возвращает один символ, который имеет в строке указанный номер
Отрицательное значение индекса отсчитывается с конца строки
Срез с двумя параметрами (text [0:4]) - возвращает фрагмент строки начиная с символа c первым указанным индексом до символа со вторым указанным индексом (не включая его)
Срез с тремя параметрами (text [::3]) - возвращает символы строки начиная с символа c первым указанным индексом до символа со вторым указанным индексом с шагом указанным в последнем параметре (как для range)
Если начало и конец среза совпадают с началом и концом строки, то параметры можно опустить оставив только двоеточия
Данная программа выведет:
Программа!
Прог
а
Пгм!
44
Объяснение:
Из 25 сделать 31 можно только одним раз прибавив 1: любая операция "сделай нечетное" выдаст число, не меньшее
. Тогда количество всех команд, которые получают 31, проходя через 25, равно количеству команд, которые просто получают 25.
Используя написанное выше, можно поступить так: посчитать количество программ, получающих 31, и вычесть из неё количество команд, получающих 25. Это и будет ответом.
Пусть a(n) - количество программ, получающих из 1 число n. Например, a(1) = a(2) = 1: 1 получает единственная (пустая) программа, а 2 можно получить при команды "прибавить 1"
Если n четное, то последняя команда в программе - прибавление 1, a(n) = a(n - 1).
Если n нечетное, то последняя команда в программе - либо прибавление 1, либо "сделай нечетное" из числа (n - 1)/2; a(n) = a(n - 1) + a((n - 1)/2).
Начинаю считать:
a(3) = a(2) + a(1) = 2
a(4) = a(3) = 2
a(5) = a(4) + a(2) = 3
a(6) = a(5) = 3
a(7) = a(6) + a(3) = 3 + 2 = 5
... и т.д.
Итоговая таблица для всех n от 1 до 31:
ответ - это a(31) - a(25).