一切似乎都定义为字符串吗? Python

时间:2018-06-30 18:27:10

标签: python

我对编程完全陌生。但是,我只想在Python上编写一些简单的代码,即可让我输入任何数据,然后将数据的类型中继或“打印”回我。

我当前拥有的脚本是:

x = input()
print(x)
print(type(x))

但是,无论我输入字符串,整数还是浮点数,它都将始终打印字符串?有什么建议吗?

2 个答案:

答案 0 :(得分:2)

在Python中,input始终返回string。 如果您想将其视为int,则必须对其进行转换。

num = int(input('Choose a number: '))
print(num, type(num))

如果不确定类型,可以执行以下操作:

num = input('Choose a number: ')
try:
    num = int(num)
except:
    pass
print(num, type(num))

答案 1 :(得分:1)

1111或1.10是有效字符串

如果用户四次按“ 1”键,然后按Enter,则没有一种神奇的方式来告诉用户是否要输入数字1111或字符串“ 1111”。输入函数为您的程序提供了用户以字符串形式输入的任意文本数据,您可以根据自己的意愿来解释它。

如果您想对特殊格式的数据进行不同的处理(例如,如果他们输入“ 1111”,则将其作为数字1111,如果他们输入“ 111x”,则显示一条消息“请输入有效数字”),那么您的程序需要实现该逻辑。