我正在使用python 3.5.1,我遇到了一些脚本问题。当我连续有多个input()
行时,ipython窗口将跳过它们之间的行。这是我的代码:
def DMScalc(D, M, S):
if D < 0.:
DD = D + M*(-1)/60 + S*(-1)/3600
else:
DD = D + M/60 + S/3600
return DD
print("\nConvert Degrees-Minutes-Seconds to Decimal Degrees")
D = float(input("Degrees: "))
M = float(input("Minutes: "))
S = float(input("Seconds: "))
print('Decimal Degrees:', end=' ')
print(DMScalc(D, M, S))
ipython窗口显示以下内容:
Convert Degrees-Minutes-Seconds to Decimal Degrees
Degrees: 33
Minutes: 29
Seconds: 38
Decimal Degrees: 33.49388888888889
我想删除Degrees,Minutes和Seconds上面的跳过的行,所以最终结果如下:
Convert Degrees-Minutes-Seconds to Decimal Degrees
Degrees: 33
Minutes: 29
Seconds: 38
Decimal Degrees: 33.49388888888889
我检查了input()
的文档,它只讨论了尾随换行符,我认为这不是问题所在。
答案 0 :(得分:0)
单独使用input()
功能,您不能。
尝试使用Curses库,以便您可以更好地控制终端行为,因为input()
将始终为您提供新行。
答案 1 :(得分:0)
Spyder开发人员Carlos Cordoba说这是其IPython控制台中的错误,请参见此处:
How can I prevent Python from inserting a new line after taking user input?
您可以检查其Github存储库,以查看其是否已修复。
如果您有好奇心,请在这里查看问题页面:https://github.com/jupyter/qtconsole/issues/262