Sublime Text 3不接受输入()

时间:2018-05-12 15:00:43

标签: python sublimetext3

代码在python shell中按预期工作,通过空闲启动。通过sublime文本运行文件时,它只打印"请输入您的价格:"提交我的输入后,在没有运行其余代码的情况下访问控制台。点击进入控制台只会创建一个新行。在python shell中运行代码时,其余的代码在将int提交到tip计算器后执行。

def calculateit():
     price = input("please enter your price: ")
     tip = int(price) * 0.25
     final = int(tip) + int(price)
     print ("since the price of your meal is " + str(price) + " your tip is " + str(tip))
     print ("the total cost of your meal is " + str(final))

calculateit()

1 个答案:

答案 0 :(得分:0)

在Sublime中执行代码时,无法捕获输入。从技术上讲,控制台已连接到stderrstdout,但未连接到stdin。所以不可能直接在Sublime中运行交互式程序。

然而,在看到您的代码之后,出现了一个问题 - 为什么不首次使用用户price方法投射input变量,这样您就不需要多次投射它从strint,反之亦然。为了让您清楚这一点,请参阅以下代码,我认为这是完全相同但更智能的方法。

def calculateit():
    price = int(input("please enter your price: "))
    tip = price * 0.25
    final = tip + price
    print (f"since the price of your meal is {price} your tip is {tip}" )
    print (f"the total cost of your meal is {final}" )

calculateit()