我知道您可以使用end =""在上一行打印e.g
import time
print("Loading",end="")
for i in range(3):
print(".",end="")
但有没有办法用输入来做,因为它会出现错误。 例如,用户被问到一个问题,然后他们输入答案,并在输入旁边打印✘或✔。
#Doesn't work
print("What is the capital of england?")
ans = input("+-> ",end="")
if ans == "London":
print("✔")
else:
print("✘")
这不是使用end =""但是另一种方式呢?
PS \ r \ n和\ b不能正常工作
答案 0 :(得分:1)
以下是使用ANSI/VT100 Terminal Control Escape Sequences
的一种方法In [103]: def ask():
CURSOR_UP_ONE = '\x1b[1A'
ERASE_LINE = '\x1b[2K'
message = "What is the capital of england? "
answer = input(message)
if answer == "London":
print(CURSOR_UP_ONE + ERASE_LINE + message + answer + "✔")
else:
print(CURSOR_UP_ONE + ERASE_LINE + message + answer + "✘")
.....:
In [104]: ask()
What is the capital of england? Paris✘
答案 1 :(得分:0)
在输入后使用新行之前,Python不会读取STDIN来接受输入。
因此,您无法在输入后立即打印消息。
答案 2 :(得分:0)
你的问题有点不清楚。但到目前为止我的理解是答案。
print("what is capital of England")
inp = input()
if(inp =="London"):
print(inp+"->✔")
else:
print(inp+"->✘")