В одной IT-компании существует негласный закон об именовании текстовых документов:
- Название файла не должно начинаться на один из специальных символов: @№$%^&*()
- Файл заканчивается расширением “.txt” или “.docx”
Напишите программу, которая получает на вход полное название файла и проверяет его по этим правилам.
Пример 1:
Название файла: @example.txt
Ошибка: название начинается на один из специальных символов
Пример 2:
Название файла: example.ttx
Ошибка: неверное расширение файла. Ожидалось .txt или .docx
Пример 3:
Название файла: example.txt
Файл назван верно.
Решение:
import string
extensions = ('.txt', '.docx')
file_name = input('Название файла: ').lower()
err = 0
correct_ext = False
if file_name[0] in string.punctuation:
print('Ошибка: название начинается на один из специальных символов')
err += 1
if err == 0:
if file_name.endswith(extensions):
correct_ext = True
if correct_ext:
print('Файл назван верно.')
else:
print('Ошибка: неверное расширение файла. Ожидалось .txt или .docx')
Решение от преподователя:
# TODO Верно, но есть лишние флаги и условные операторы, можно обойтись без них:
if file_name[0] in string.punctuation:
print('Ошибка: название начинается на один из специальных символов')
elif not file_name.endswith(extensions):
print('Ошибка: неверное расширение файла. Ожидалось .txt или .docx')
else:
print('Файл назван верно.')
Как можно отблагодарить:
- Оформить удобную для вас подписку на Boosty.to
- Разово поддержать через DonationAlerts
43200login-checkМодуль 18. Задача 3. Файлы
