python - 定义变量类型! PYTHON

标签 python python-3.x string int

我正在做一个小型控制台程序。您输入数据,然后程序将其放入 .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/

相关文章:

python请求上传带有附加数据的大文件

python - 如何将声音作为神经网络的输入?

python - Pandas 中的分层抽样

python - 用 python 关闭 safari

python - sqlite3 : Connect to a database in cloud (S3)

arrays - 使用具有定义值的 scanf

python - 在 Pandas 数据框中水平填充单元格值

python - 脚本无法解析重定向网址中的标题

Java - 是否有用于连接 String[] 中的字符串的内置函数?

c++ - 如何创建自定义查找功能?