Python 3在输入中采用多种数据类型,以空格分隔

时间:2017-10-30 21:27:51

标签: python input types

所以我需要找到一种方法将多种数据类型作为输入并将它们存储在变量中。假设我有3个变量,每个变量应该存储一个固定的数据类型 a - 浮动 b - str c - int

如果用户输入错误,他将被要求再次输入。 用户将输入所有这些,以空格分隔但我无法想到将它们存储在变量中的方法,同时保持数据类型。我尝试过使用.split(),但它只是将它们转换为字符串。这可能是非常明显的事情,但现在无法解决。提前谢谢!

2 个答案:

答案 0 :(得分:0)

也许:

def myfucn(vars):
    vars = vars.split()
    try:
        float(vars[0])
        if not "." in vars[0]:
            raise Exception("First var should be INT not Float")
    except ValueError:
        print("Error not Float found")

    try:
        int(vars[2])
    except ValueError:
        print("Error Int no found")

    #answer
    a_float, b_str, c_int = vars
    print(" Yes ")

问候

答案 1 :(得分:-1)

如果使用split()函数,你就在正确的轨道上。问题是当你说用户将三个值分隔为' ',你正在接受一个字符串。 以下是一个字符串: ' 34.44 35.45 5' 也许您可以做的是在使用split之后,您可以将每个返回的项目转换为变量。如果仍需要检查变量的类型,可以使用type()函数。

希望这有帮助!