Напишите программу, которая запрашивает у пользователя его фамилию, имя, отчество, введенные в одну строчку через пробел, и выводит на экран сообщения:
Ваша фамилия: фамилия
Ваше имя: имя
Ваше отчество: отчество
Пример:
Входные данные:
Введите Ваши ФИО: Тамбовцева Алла Андреевна
Выходные данные:
Ваша фамилия: Тамбовцева
Ваше имя: Алла
Ваше отчество: Андреевна
fio = input("Введите Ваши ФИО: ")
fio_list = fio.split()
f = fio_list[0]
i = fio_list[1]
o = fio_list[2]
print("Ваша фамилия:", f)
print("Ваше имя:", i)
print("Ваше отчество:", o)
Введите Ваши ФИО: Тамбовцева Алла Андреевна Ваша фамилия: Тамбовцева Ваше имя: Алла Ваше отчество: Андреевна
Напишите программу, которая берет строку "1; 2; 3; 100" и возвращает:
s = "1; 2; 3; 100"
s_list = s.split(";")
int_nums = []
for i in s_list:
num = int(i)
int_nums.append(num)
int_nums
[1, 2, 3, 100]
Или более компактно и эффективно, используя списковые включения.
s = "1; 2; 3; 100"
s_list = s.split(";")
int_nums = [int(i) for i in s_list]
int_nums
[1, 2, 3, 100]
То же самое, но для чисел с плавающей точкой:
s = "1; 2; 3; 100"
s_list = s.split(";")
f_nums = []
for i in s_list:
num = float(i)
f_nums.append(num)
f_nums
[1.0, 2.0, 3.0, 100.0]
Через списковые включения:
s = "1; 2; 3; 100"
s_list = s.split(";")
f_nums = [float(i) for i in s_list]
f_nums
[1.0, 2.0, 3.0, 100.0]
Напишите программу, которая запрашивает у пользователя номер мобильного телефона, введенный через дефис, а возвращает номер, записанный без дефисов и пробелов.
Входные данные:
8-900-123-45-67
Выходные данные:
89001234567
tel = input()
tel_list = tel.split("-")
newtel = "".join(tel_list)
print(newtel)
8-900-123-45-67 89001234567
Напишите программу, которая принимает на вход список L, в котором хранятся значения доходов домохозяйств за месяц, а возвращает новый список L2 ‒ список логарифмированных значений доходов.
L = [10000, 25000, 250000, 150000]
import math
L2 = []
for l in L:
res = math.log(l)
L2.append(res)
L2
[9.210340371976184, 10.126631103850338, 12.429216196844383, 11.918390573078392]
Можно добавлять элемент в список без создания res
, выполняя все преобразования в скобках в append
:
L = [10000, 25000, 250000, 150000]
import math
L2 = []
for l in L:
L2.append(math.log(l))
L2
[9.210340371976184, 10.126631103850338, 12.429216196844383, 11.918390573078392]
И через списковые включения:
L2 = [math.log(l) for l in L]
L2
[9.210340371976184, 10.126631103850338, 12.429216196844383, 11.918390573078392]
Напишите программу, которая принимает на вход список слов такого вида:
words = ["Speak ","to", "me ", "of", "Florence" ,"And ", "of", "the", "Renaissance"]
а возвращает список
words_clean = ["speak", "to", "me", "of", "florence", "and", "of", "the", "renaissance"]
Другими словами, программа убирает пробелы в словах и приводит все слова к нижнему регистру.
Подсказка: запросите help()
по методам strip()
и lower()
.
words = ["Speak ","to", "me ", "of", "Florence" ,"And ", "of", "the", "Renaissance"]
words_clean = []
for w in words:
low = w.lower()
stripped = low.strip()
words_clean.append(stripped)
words_clean
['speak', 'to', 'me', 'of', 'florence', 'and', 'of', 'the', 'renaissance']
Или совсем компактный вариант, используя списковые включения (да-да, методы можно применять, "наслаивая" друг на друга, то есть ставя точку и добавляя новый метод).
words_clean = [w.lower().strip() for w in words_clean]
words_clean
['speak', 'to', 'me', 'of', 'florence', 'and', 'of', 'the', 'renaissance']