Sublime Text 3 не принимает ввод () - PullRequest
0 голосов
/ 12 мая 2018

Код работает, как и ожидалось, в оболочке python, запущенной через idle. Когда файл запускается с помощью возвышенного текста, он выводит на консоль только «пожалуйста, введите вашу цену:» без выполнения оставшейся части кода после отправки моего ввода. Нажатие Enter на консоли только создает новую строку. При запуске кода в оболочке python остальная часть кода выполняется после отправки int в калькулятор чаевых.

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 голосов
/ 12 мая 2018

Когда вы выполняете код в 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()
...