
Создать программу, которая требует ввода имени, фамилии и персональный код (можно без тире)
Персональный код не больше 10 цифр Код должен быть только из цифр Необходимо ввести имя и фамилию Если пользователь не вводит имя и фамилию, программа сообщает об ошибке; Не разрешайте вводить числа и другие нетекстовые символы вместо имени или фамилии; Программа приветствует пользователя, используя его имя, например: «Здравствуйте,% username%! Рад вас видеть сегодня». Программа записывает введенную пользователем информацию в файл new.txt; При записи информации в файл к личному коду добавляется тире от 6 до 7 цифр; Python/Spyder

Ответы на вопрос

Ответ:
import re
a,b = 0,0
while a+b != 2:
name = input('Имя:')
surname = input('Фамилия:')
if re.search(r'[^а-яА-Я]', name):
b = 0
else:
a = 1
if re.search(r'[^а-яА-Я]', surname):
b = 0
else:
b = 1
code = int(input('Персональный код:')); d = list(str(code))
while len(d) > 10:
print('Код не должен содержать >10 цифр')
code = int(input('Персональный код:'))
d = [list(str(code))]
print(f'Здравствуйте, {name}! Рад вас видеть сегодня')
c = open('new.txt','w')
try:
c.write(f'Имя: {name} \nФамилия: {surname} \nПерсональный код: {code}')
finally:
c.close()



Для создания такой программы на Python в среде Spyder, вы можете использовать следующий код:
pythonimport re
# Функция для проверки введенного имени и фамилии
def is_valid_name(name):
return bool(re.match(r'^[a-zA-Zа-яА-Я\s]+$', name))
# Функция для проверки введенного персонального кода
def is_valid_code(code):
return bool(re.match(r'^\d{1,10}$', code))
# Функция для записи информации в файл
def write_to_file(first_name, last_name, personal_code):
with open('new.txt', 'w') as file:
file.write(f'Имя: {first_name}\n')
file.write(f'Фамилия: {last_name}\n')
file.write(f'Персональный код: {personal_code}\n')
# Запрос имени и фамилии
while True:
first_name = input("Введите имя: ")
last_name = input("Введите фамилию: ")
if is_valid_name(first_name) and is_valid_name(last_name):
break
else:
print("Ошибка! Имя и фамилия должны содержать только буквы и пробелы.")
# Запрос персонального кода
while True:
personal_code = input("Введите персональный код (не более 10 цифр): ")
if is_valid_code(personal_code):
break
else:
print("Ошибка! Персональный код должен состоять только из цифр и быть не более 10 символов.")
# Добавление тире к персональному коду
personal_code_with_dash = personal_code[:6] + '-' + personal_code[6:] if len(personal_code) >= 7 else personal_code
# Приветствие пользователя
print(f'Здравствуйте, {first_name}! Рад вас видеть сегодня.')
# Запись информации в файл
write_to_file(first_name, last_name, personal_code_with_dash)
Этот код запрашивает имя, фамилию и персональный код у пользователя, проверяет их на соответствие заданным условиям, приветствует пользователя с использованием имени и записывает информацию в файл "new.txt", добавляя тире к персональному коду, если необходимо.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili