繁体   English   中英

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

[英]Python 3 taking multiple data types in input, separated by space

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

如果用户输入错误,将要求他再次输入。 用户将输入所有它们,并用空格隔开,但是我想不出一种在保留数据类型的同时将它们存储在变量中的方法。 我已经尝试过.split(),但是它只是将它们转换为字符串。 这可能很明显,但现在无法解决。 提前致谢!

也许:

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 ")

问候

如果使用split()函数,您将走在正确的轨道上。 问题是,当您说用户将给出三个用'分隔的值时,您正在输入一个字符串。 下面是一个字符串:'34 .44 35.45 5'也许您可以做的是使用split之后,可以将每个返回的项目强制转换为变量。 如果仍然需要检查变量的类型,则可以使用type()函数。

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM