s = "In the hole in the ground there lived a hobbit"
Две половинки
Дана строка. Разрежьте ее на две равные части (если длина строки – четная, а если длина строки нечетная, то длина первой части должна быть на один символ больше). Переставьте эти две части местами, результат запишите в новую строку и выведите на экран.
Вычислите с помощью функции len() длину строки и разделите ее пополам при помощи оператора целочисленного деления.Переставить два слова
Дана строка, состоящая ровно из двух слов, разделенных пробелом. Переставьте эти слова местами. Результат запишите в строку и выведите получившуюся строку.
Используйте метод строки split.Удаление фрагмента
Дана строка, в которой буква h встречается минимум два раза. Удалите из этой строки первое и последнее вхождение буквы h, а также все символы, находящиеся между ними.
Воспользуйтесь методом строк find для того, чтобы узнать индекс первого вхождения символа.Обращение фрагмента
Для индекса последнего вхождения символа переверните строку. Используйте полученные индексы для получения срезов. Не забывайте об отрицательных значениях индексов.
Дана строка, в которой буква h встречается как минимум два раза. Разверните последовательность символов, заключенную между первым и последнием появлением буквы h, в противоположном порядке.
Используйте срез с отрицательным шагом.
a = [10, 20]
b = [30, 40]
c = [50, 60]
Сложите переменные, содержащие списки.
dic1 = {1: 10, 2: 20}
dic2 = {3: 30, 4: 40}
dic3 = {5: 50, 6: 60}
Воспользуйтесь методом словаря update и добавьте к одному словарю содержимое всех остальных:d1.update(d2)
Дан список чисел. Посчитайте, сколько в нем пар элементов, равных друг другу. Считается, что любые два элемента, равные друг другу образуют одну пару, которую необходимо посчитать.
Примеры: 1 2 3 2 3 -> 2, 1 1 1 1 1 -> 10
Задача решается перебором: каждое число требуется сравнить с остальными. Это делается в цикле с условным выражением. Избегайте подсчета пары по два раза.
В первый день спортсмен пробежал x километров, а затем он каждый день увеличивал пробег на 10% от предыдущего значения. По данному числу y определите номер дня, на который пробег спортсмена составит не менее y километров.
Вклад в банке составляет x рублей. Ежегодно он увеличивается на p процентов, после чего дробная часть копеек отбрасывается. Каждый год сумма вклада становится больше. Определите, через сколько лет вклад составит не менее y рублей.
В недалеком будущем ученые изобрели машину времени. С помощью него удалось перенестись в прошлое и основать Самый Первый Банк.
Рассчитать, в каком году нужно положить в банк 5 рублей под 5% годовых, чтобы к 2020 году стать миллионером.
Петя перешёл в другую школу. На уроке физкультуры ему понадобилось определить
своё место в строю. Помогите ему это сделать.
Входные данные. Программа получает на вход невозрастающую последовательность натуральных чисел, означающих рост каждого человека в строю. После этого вводится число X – рост Пети. Все числа во входных данных натуральные и не превышают 200.
Выходные данные. Выведите номер, под которым Петя должен встать в строй. Если в строю есть люди с одинаковым ростом, таким же, как у Пети, то он должен встать после них.
Составить список, который состоит из элементов, общих для этих двух списков:
a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
b = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
# b = [a for a in range(56)]
Решение:
c = []
for number in a:
if number in b and number not in c:
c.append(number)
print(c)
Дан список имен объектов Солнечной системы.
names = ["2867 Šteins", "2014 JO25", "486958 Arrokoth", "243 Ida"]
filenames = ["Steins.jpg", "2014JO25.jpg", "Arrokoth.jpg", "Ida.jpg"]
ar = "486958 Arrokoth"
ar.split()
# ['486958', 'Arrokoth']
splitted = ar.split()
splitted[0]
# '486958'
int(splitted[0])
# 486958
int(splitted[0]) > 1950
# True
int(splitted[0]) < 2020
# False
int(splitted[0]) > 1950 and int(splitted[0]) < 2020
# False
splitted = '2014 JO25'.split()
strnumber = splitted[0]
number = int(strnumber)
int(number) > 1950 and int(number) < 2020
# True
filename = "Steins.jpg".split(".")
# ['Steins', 'jpg']
if filename[1] == "jpg":
print("Это картинка! Запускаем фотошоп...")
Напишите программу, которая принимает два списка и выводит все элементы первого, которых нет во втором.
a = ['White', 'Black', 'Red', 'Purple', 'Magenta']
b = ['Red', 'Green', 'Blue', 'Cyan', 'Magenta']
for color in a:
# code here
print(color)
Или:
print(set(a) - set(b))
from random import random, randrange
from matplotlib import pyplot as plt
a, b = 1000, 3000
j = 0
c, d = [], []
e, f = 1, 9000000
while abs(a - b) > 1:
a = randrange(e, f)
b = randrange(e, f)
e = min(a, b)
f = max(a, b)
j += 1
c.append(j)
d.append(abs(a - b))
print("j", j, abs(a - b))
plt.plot(d, c, 'o')
plt.grid()
plt.show()
Проверка на палиндром:
rawwords = input()
words = rawwords.lower().replace(" ", "")
ispalindrom = words == words[::-1]
print(ispalindrom)
При заданном целом числе n посчитайте n + nn + nnn
Обобщить для n от 1 до 9.
a = input("Введите число: ")
b = input("Сколько раз умножать число: ")
kopilka = 0
for count in range(int(b)):
print(a * (count + 1))
kopilka = kopilka + int(a * (count + 1))
print(kopilka)
Длина Московской кольцевой автомобильной дороги – 109 километров. Байкер Вася стартует с нулевого километра МКАД и едет со скоростью v километров в час. На какой отметке он остановится через t часов?
Решить задачу для КАД (142.15 км).
Используйте целочисленное деление.
MKAD = 108.9
KAD = 142.15
road = KAD
v = float(input("v, км/ч: "))
t = float(input("t, ч: "))
s = v * t
x = s // road
g = s - x * road
if g - round(g):
g += 1
print("Номер километра:", int(g))
Напишите программу, которая по данному числу N от 1 до 9 выводит на экран N пингвинов. Изображение одного пингвина имеет размер 5 на 9 символов, между двумя соседними пингвинами также имеется пустой (из пробелов) столбец. Разрешается вывести пустой столбец после последнего пингвина.
_~_ _~_ _~_
(o o) (o o) (o o)
/ V \ / V \ / V \
/( _ )\ /( _ )\ /( _ )\
^^ ^^ ^^ ^^ ^^ ^^
Размножайте пингвина по частям.
Напишите программу, которая сажает на линию от 1 до 6 Килроев. Килрои не любят тесноты и должны разделяться минимум одним символом на линии с обеих сторон. Длина линии не должна изменяться!
,,,
(. .)
----------------------------------------------ooO-(_)-Ooo---
Размножайте Килроя построчно; из длины линии вычитайте суммарную длину Килроев.