1. Напишите программу, которая запрашивает ввод двух значений. Если хотя бы одно из них не является числом, то должна выполняться конкатенация, то есть соединение, строк. В остальных случаях введенные числа суммируются.
Примеры выполнения программы:
Первое значение: 4
Второе значение: 5
Результат: 9.0
Первое значение: a
Второе значение: 9
Результат: a9
2. sample = 'Exercises number 1, 12, 13, and 345 are important 456'
В примере найти и вывести трехзначные числа с помощью регулярных выражений.
3. Приведенный ниже код назначает 5-ю букву каждого слова в food новый список fifth. Однако код в настоящее время выдает ошибки. Вставьте предложение try/except, которое позволит запустить код и создать список 5-й буквы в каждом слове. Если слово недостаточно длинное, оно не должно ничего выводить. Примечание. pass - Оператор является нулевой операцией; ничего не произойдет при его выполнении.
food = ["chocolate", "chicken", "corn", "sandwich", "soup", "potatoes", "beef", "lox", “lemonade"]
fifth = []
for x in food:
fifth.append(x[4])
4*. Напишите регулярное выражение для поиска HTML-цвета, заданного как #ABCDEF, то есть # и содержит затем 6 шестнадцатеричных символов.
5**. Найти в тексте время. Время имеет формат часы: минуты. И часы, и минуты состоят из двух цифр, пример: 09:00. Напишите регулярное выражение для поиска времени в строке: «Завтрак в 09:00». Учтите, что «37:98» – некорректное время.
6. Создать запрос для выбора из текста дробных чисел с разделителем дробной части в виде точки. Разряды целой части могут не выделяться или отделяться пробелом или запятой.
1231.12313
Answers & Comments
1.
value1 = input("Первое значение: ")
value2 = input("Второе значение: ")
if value1.isnumeric() and value2.isnumeric():
result = float(value1) + float(value2)
else:
result = value1 + value2
print("Результат:", result)
2.
import re
sample = 'Exercises number 1, 12, 13, and 345 are important 456'
numbers = re.findall(r'\b\d{3}\b', sample)
for number in numbers:
print(number)
Результат выполнения программы: 345 456
3.
food = ["chocolate", "chicken", "corn", "sandwich", "soup", "potatoes", "beef", "lox", "lemonade"]
fifth = []
for x in food:
try:
fifth.append(x[4])
except IndexError:
pass
4.
^#[A-Fa-f0-9]{6}$
- `^` - начало строки
- `#` - символ `#`
- `[A-Fa-f0-9]` - класс символов, который соответствует шестнадцатеричным символам A-F (в верхнем и нижнем регистре) и цифрам 0-9
- `{6}` - указывает, что предыдущий символ должен повторяться 6 раз
- `$` - конец строки
5.
\b\d{2}:\d{2}\b
- `\b` - граница слова, чтобы убедиться, что найденное время не является частью другого слова
- `\d{2}` - две цифры подряд, соответствующие часам и минутам
- `:` - символ двоеточия, разделяющий часы и минуты
- `\d{2}` - еще две цифры подряд, соответствующие минутам и часам
- `\b` - граница слова, чтобы убедиться, что найденное время не является частью другого слова
6.
(?:\d{1,3}[ ,])?\d{1,3}\.\d+
- `(?:\d{1,3}[ ,])?` - необязательная группа, которая соответствует разрядам целой части, которые могут быть не выделены или отделены пробелом или запятой. `\d{1,3}` соответствует от одной до трех цифр, а `[ ,]` соответствует пробелу или запятой. Группа предваряется `?:`, чтобы не создавать захватывающую группу.
- `\d{1,3}` - соответствует одной до трех цифр целой части числа.
- `\.` - соответствует точке, разделяющей целую и дробную части числа.
- `\d+` - соответствует одной или более цифрам дробной части числа.