Я написал код, это простая программа с 2 входами и печатью.Я добавляю код, чтобы не указывать правильное имя и год.Когда данные из входных данных верны, моя программа работает правильно, но при отсутствии равных сообщений и вводе можно вводить снова, но после присвоения переменных новым словам выводятся старые слова: / Я использую Python 3.7.3
import re
def name_check(x):
pattern1=r'[A-Za-z]'
if re.match(pattern1,x):
pass
else:
print ('This is not your name.')
give_name()
def year_check(y):
pattern2=r'(\d)'
if re.match(pattern2,y):
pass
else:
print ('This is not your year of birth.')
give_year()
def printing(x,y):
try:
print('Hey,',x,',in',int(y)+100,'year you will have 100 years.')
except:
print ('An error occured.')
def give_name():
x=str(input('Enter your name: '))
name_check(x)
return x
def give_year():
y=input('Enter your year of birth: ')
year_check(y)
return y
def program():
x=give_name()
y=give_year()
printing(x,y)
program()