Я написал программу, которая берет имя и возраст нескольких записей, разделенных запятой, а затем отделяет символы от чисел, а затем сравнивает имя с заранее заданным набором / списком. Если запись не соответствует предварительно определенным данным, программа отправляет сообщение «неверная запись» вместе с элементом, который не соответствует. вот код:
from string import digits
print("enter name and age")
order=input("Seperate entries using a comma ',':")
order1=order.strip()
order2=order1.replace(" ","")
order_sep=order2.split()
removed_digits=str.maketrans('','',digits)
names=order.translate(removed_digits)
print(names)
names1=names.split(',')
names_list=['abby','chris','john','cena']
names_list=set(names_list)
for name in names1:
if name not in names_list:
print(f"{name}:doesnt match with predefined data")
проблема, с которой я сталкиваюсь, даже когда я ввожу Криса или Джона, программа обрабатывает их, поскольку они не принадлежат заранее определенному списку
sample input : ravi 19,chris 20
output:ravi ,chris
ravi :doesnt match with predefined data
chris :doesnt match with predefined data
также я есть еще одна проблема, я написал часть для устранения пробелов, но я не знаю почему, он не устраняет их
sample input:ravi , chris
ravi :doesnt match with predefined data
()chris :doesnt match with predefined data
есть место, где я поставил круглые скобки.
любое предложение для решения этой проблемы и / или улучшить этот код приветствуется!