input()命令不适用于Sublime Text 3

时间:2016-06-07 14:22:55

标签: python python-3.x input sublimetext3

我正在尝试使用add()编写input()函数,但似乎输入对我来说并不适用。 该模块如下:

def add (n1, n2):

    return (n1+n2)

def main ():

    print (add(input("Enter number one, please:"),input ("Enter number two, please:")))

if __name__ == "__main__":
    main()

当跑步时,我只是得到“输入第一号,请:”提示,当输入实际数字并按ENTER时,没有任何实际发生。 我尝试获得“Sublime Input”包,但无济于事。

我想让它在不使用Ubuntu的情况下运行(我使用的是Windows 8.1)。

1 个答案:

答案 0 :(得分:1)

Python 3中的第一个关闭input不再解释您为其提供的数据类型。这实际上意味着您提供的所有内容都将被读作字符串。这意味着add函数不会像您期望的那样工作。要解决此问题,请将代码更改为以下内容:

def add (n1, n2):

    return (n1+n2)

def main ():

    print (add(float(input("Enter number one, please:")),float(input ("Enter number two, please:"))))

if __name__ == "__main__":
    main()

添加内置float函数可确保输入转换为float,因此可以对其进行数学运算。

其次,Sublime Text 3仍处于beta开发阶段。这意味着某些功能可能无法正常工作。尝试使用Sublime Text 2.此外,我使用python add.py在命令行中运行上面的代码,它运行正常。注意:我将文件保存为add.py