嗨,我正试图打印用户输入的数据类型并生成如下表格:
ABCDEFGH = String, 1.09 = float, 0 = int, true = bool
等等。 我使用的是Python3.2.3,我知道可以使用type()来获取数据的类型,但在python中,所有用户输入都被当作字符串,我不知道如何确定输入是字符串、布尔值、整数还是浮点值。这是代码的一部分:
user_var = input("Please enter something: ")
print("you entered " + user_var)
print(type(user_var))
它总是返回字符串的str。 感谢你的帮助
输入将始终返回字符串。您需要对字符串求值以获取一些Python值:
如果您想要安全(这里用户可以执行任意代码),应该使用
ast.literal_eval
:^{} 将始终返回字符串。如果要查看是否可以转换为整数,应执行以下操作:
您可以编写这样的函数:
然而,正如其他答案中提到的,使用
ast.literal_eval
将是一个更简洁的解决方案。相关问题 更多 >
编程相关推荐