如何隐藏和/或组合打印()和输入()输出



我是Python和Jupiter Lab/Notebook的新手。我开始创建包括大量用户输入((和print((的功能。问题是,随着它们的显示方式,它很快变成了两个分开的列表 - 下面显示了一个简短的示例。

input('1 Yes or No: ')
print('2 Going Along.')
input('3 Yes or No: ')
print('4 Going Along.')
input('5 Yes or No: ')
print('6 Going Along.')
input('7 Yes or No: ')
print('8 Going Along.')

导致:

1 Yes or No: Yes
 2 Going Along.
 4 Going Along.
 6 Going Along.
 8 Going Along.
3 Yes or No: No
5 Yes or No: Maybe
7 Yes or No: Not Sure

我有两个问题。(1(输入后是否可以隐藏输入((行?(2(有没有办法以执行它们的顺序显示这些行?

事先感谢您的任何帮助。

虽然我无法重现您的行执行行为,但我尝试编写一个输入函数,该功能在用户输入之后删除了自己

import sys
import msvcrt
def vanishing_input(msg):
    sys.stdout.write(msg)
    user_input = ''
    while True:
        x = msvcrt.getch().decode("utf-8")
        if x == 'r':
            break
        sys.stdout.write(x)
        user_input += x
    print("r" + " " * (len(msg) + len(user_input)) + "r", end='')
    return user_input

它完全像普通输入一样使用。

vanishing_input('1 Yes or No: ')
print('2 Going Along.')

当前移动光标或删除角色存在一些问题,但我认为您可以自己改善这种奇怪的事件。

相关内容

  • 没有找到相关文章