gpt4 book ai didi

python - 如何让输入识别其他类型的变量?

转载 作者:行者123 更新时间:2023-11-30 22:09:30 25 4
gpt4 key购买 nike

所以这是我想写下来的一个非常快速的程序。

var = input ("Insert A Variable: ")

#Integer
if isinstance(var, int):
VarType = "Integer"

#String
if isinstance(var, str):
VarType = "String"

#List
if isinstance(var, list):
VarType = "List"

#IDictionary
if isinstance(var, dict):
VarType = "Dictionary"

print ("Variable Type: " + VarType + ".")

但是,每个输入都会返回 String 值,将 12 视为 "12",将 [] 视为“[]”

有什么想法吗?提前致谢!

最佳答案

在 Python 3 中,input() 始终返回一个字符串。您可以使用 ast.literal_eval() 安全地评估用户输入,并使用 type() 来确定类型:

>>> import ast
>>> var = ast.literal_eval(input())
{}
>>> type(var)
<class 'dict'>

或者如 Jon Clements建议,完全处理不良输入:

def get_type(prompt=''):
text = input(prompt)
try:
T = type(ast.literal_eval(text))
except (ValueError, SyntaxError):
T = str
return T.__name__

关于python - 如何让输入识别其他类型的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51902830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com