我正在做一个小型控制台程序。您输入数据,然后程序将其放入 .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,但是这里就差很多了。 请帮助我!
最佳答案
input()
方法始终返回一个字符串。如果您希望相应的变量为整数,则应使用 int()
方法将字符串转换为整数。
所以:
year = int(input("Please enter a year"))
这同样适用于其他类型的变量,但对于 float 等使用 float()
方法。
关于python - 定义变量类型! PYTHON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60027863/