我正在创建一个向您显示问题的脚本,您给出答案(“y”或“n”)并重新启动该行,并出现另一个问题。我试过这个(假设数字是问题)
import sys
for i in range (10):
sys.stdout.write('\r'+str(i))
label = input()
if label=='n':
doSomething
if label=='y':
doSomethingElse
但在这种情况下,我得到了这个
0n
1n
2y
3n
我希望如果我有
0
我给出了答案并按Enter键,当前行消失,新号码出现
1
然后我再回答一下,等等。
我已经检查了this个问题和this。我正在使用python 3.5。
修改 感谢答案,现在我知道我需要避免使用input()函数的'\ n'。
答案 0 :(得分:0)
当您使用input()
时,总会有一个'\ n'的输出。这个'\ n'更改为新行,然后'\ r'无法正常工作。
所以,也许你应该在这里突破(input()
)。
答案 1 :(得分:0)
也许\n
赞成(见Part 1
),您可以使用elif
(请参阅Part 2
)
for i in range (10):
sys.stdout.write(str(i) + '\n') # Part 1
label = input()
if label == 'n':
doSomething
elif label =='y': # Part 2
doSomething