输入后我有什么方法可以让输入线消失吗?蟒

时间:2016-03-22 11:24:49

标签: python

我正在为2名球员创造一个摇滚,纸张,剪刀游戏。然而,当第一个玩家进入摇滚,纸张或剪刀时,我希望他们的输入消失,然后第二个玩家可以进入他们的。因为我不希望他们看到对方的条目。这在Python 3.5.0中是否可行? 任何帮助将非常感激! 谢谢! 我不想清除整个屏幕,只需一行!

2 个答案:

答案 0 :(得分:1)

您可以使用通常用于输入密码的getpass,因此用户的输入不会打印到终端。

以下是在口译员,文本' Rock'中运行此操作的示例。我在提示时输入的内容未显示,但可以在“选择”中找到。变量。

>>> import getpass
>>> choice = getpass.getpass("Rock/Paper/Scissors:")
Rock/Paper/Scissors:
>>> choice
'Rock'
>>>

您希望将其置于循环中,检查用户是否已输入其中一个有效选项,因此您可以使用以下内容:

import getpass

valid_options = ["Rock", "Paper", "Scissors"]
valid_choice = False
while (not valid_choice):
    choice = getpass.getpass("Rock/Paper/Scissors:")
    if (choice in valid_options):
        valid_choice = True
    else:
        print("Invalid option. Please try again")

答案 1 :(得分:0)

您可以使用转义序列:

valid = ("rock", "paper", "scissors")
choice = input("What is your choice? ").lower()
while choice not in valid:
    print("\033[1A\033[K", end="")
    choice = input("Invalid choice.  Try again: ").lower()
print("\033[1A\033[K", end="")