Всем привет. Прохожу обучение сейчас по питону и не могу о конца решить пару задач. Было бы очень здорово если бы мне помогли и объяснили почему и как. Ибо "преподы" не объясняют, а только проверяют задания.
В этом задании нужно с помощью регулярок вывести только названия расширений граф.файлов таких как jpeg png и т.д
Я то все сделал, оно выводит. Но если дописать к примеру pngg в расширение,то оно так и выдаст, а нужно что бы выводило все четко.
И вот второе задание, тоже на регулярках, есть файлик с именами, нужно из него вывести все фамилии женского рода в один файл, мужского в другой
В этом задании нужно с помощью регулярок вывести только названия расширений граф.файлов таких как jpeg png и т.д
Я то все сделал, оно выводит. Но если дописать к примеру pngg в расширение,то оно так и выдаст, а нужно что бы выводило все четко.
Python:
import re
text = '''Примеры расширений файлов:
wald.jpeg
wow.mp4
book.txt
forest.png
fox.tiff
wood.pdf
hub.gif
small.zip
sound.mp3
'''
pattern = r'[\w]+\.[jpengtif]{3,}'
res = re.findall(pattern, text)
print('\n'.join(res))
И вот второе задание, тоже на регулярках, есть файлик с именами, нужно из него вывести все фамилии женского рода в один файл, мужского в другой
Python:
import re
with open('surenames.txt', encoding='utf - 8') as file:
surnames = file.read()
man = re.findall(r'\w+[оевинй]{2,}$', surnames, re.I + re.M)
woman = re.findall(r'\w+[вная]{2,}$', surnames, re.I + re.M)
with open('woman.txt', 'w', encoding='utf - 8') as woman_f:
with open('man.txt', 'w', encoding='utf - 8') as man_f:
woman_f.write('\n'.join(woman).title())
man_f.write('\n'.join(man).title())
print('Done!')