Я делаю небольшую консольную программу. Вы вводите данные, а затем программа помещает их в файл .txt. Данные: Страна Год рождения Месяц рождения День рождения Настоящее имя Псевдоним
Я решил сделать определение для каждой переменной, поэтому, если пользователь вводит целое число в поле «Страна», он выдает ему предупреждение и порок наоборот. Вот код:
countryU = input('Страна проживания ')
yearU = input('Год рождения ')
monthU = input('Месяц рождения (его порядковый номер) ')
dayU = input('День рождения ')
nameU = input('Имя ')
nicknameU = input('Никнейм ')
aaaaa = 5
from random import *
u = randint(1,1000000000000)
uinfoname = str(u) + '.txt'
if type(countryU) == str:
if type(yearU) == int:
if type(monthU) == int:
if type(dayU) == int:
if type(nameU) == str:
if type(nicknameU) == str:
if countryU == '':
print('Вы ввели не все данные! Перезапустите программу и введите все.')
input('Press any key to exit...')
else:
if yearU == '':
print('Вы ввели не все данные! Перезапустите программу и введите все.')
input('Press any key to exit...')
else:
if monthU == '':
print('Вы ввели не все данные! Перезапустите программу и введите все.')
input('Press any key to exit...')
else:
if dayU == '':
print('Вы ввели не все данные! Перезапустите программу и введите все.')
input('Press any key to exit...')
else:
if nameU == '':
print('Вы ввели не все данные! Перезапустите программу и введите все.')
input('Press any key to exit...')
else:
if nicknameU == '':
print('Вы ввели не все данные! Перезапустите программу и введите все.')
input('Press any key to exit...')
else:
if (len(str(nicknameU)) < aaaaa):
print('Твой никнейм недостаточно длинный! (минимум 5 символов) Перезагрузите программу и введите все правильно.')
input('Press any key to exit...')
else:
print('Вы -', nameU, 'из страны', countryU, '')
print('Ваша дата рождения: месяц', monthU, 'число', dayU, 'год', yearU, '')
print('Ваш никнейм на сайте -', nicknameU, '.')
print('Приятного времяпрепровождения!')
output = open(uinfoname, 'x')
print(countryU, file=output)
print(yearU, file=output)
print(monthU, file=output)
print(dayU, file=output)
print(nameU, file=output)
print(nicknameU, file=output)
output.close()
input('Press any key to exit...')
else:
print('Никнейм не должен содержать специальные символы или цифры!')
input('Press any key to exit...')
else:
print('Имя не должно содержать специальные символы или цифры!')
input('Press any key to exit...')
else:
print('День вашего рождения является числом!')
input('Press any key to exit...')
else:
print('Месяц вашего рождения является числом!')
input('Press any key to exit...')
else:
print('Год вашего рождения является числом!') #pay attention to this string, this is the problem
input('Press any key to exit...')
else:
print('Название вашей страны не может содержать специальные символы или цифры! (Если название вашей страны все-таки их содержит, напишите название без них.')
input('Press any key to exit...')
Не против, я русский и использую русский язык. Ну, к проблеме: когда я запускаю программу и набираю все правильно (целое число в целое, строка в строку), он говорит: Год вашего рождения является числом! (проблемная строка) Это означает, что "Ваш год рождения должен быть числом!" И даже если я наберу страну неправильно (целое число), это говорит о том же. Поэтому, что бы я ни печатал, это дает мне эту строку. Я также использовал isinstance, но здесь все намного хуже. Пожалуйста, помогите мне!