代码在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()
答案 0 :(得分:0)
在Sublime中执行代码时,无法捕获输入。从技术上讲,控制台已连接到stderr
和stdout
,但未连接到stdin
。所以不可能直接在Sublime中运行交互式程序。
然而,在看到您的代码之后,出现了一个问题 - 为什么不首次使用用户price
方法投射input
变量,这样您就不需要多次投射它从str
到int
,反之亦然。为了让您清楚这一点,请参阅以下代码,我认为这是完全相同但更智能的方法。
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()