【问题标题】:Is it possible to print after using input but not have an input yet?是否可以在使用输入后打印但还没有输入?
【发布时间】:2018-09-07 23:02:31
【问题描述】:

所以对于家庭作业,我只需要制作一个我做过的 ATM GUI,但我想搞砸并让它真正工作,这样当我选择数字时它会显示不同的东西。

    print('\t\t\t\t|-------------------------------|')
    print('\t\t\t\t|        LCCS BANK LIMITED      |')
    print('\t\t\t\t|        ATM Main Menu          |')
    print('\t\t\t\t|                               |')
    print('\t\t\t\t|       1. Balance Enquiry      |')
    print('\t\t\t\t|       2. Cash Lodgement       |')
    print('\t\t\t\t|       3. Cash Withdrawal      |')
    print('\t\t\t\t|       4. Cash Transfer        |')
    print('\t\t\t\t|       5. Change PIN           |')
    print('\t\t\t\t|       6. Other Services       |')
    print('\t\t\t\t|                               |')
    print('\t\t\t\t|       7. Exit                 |')
    print('\t\t\t\t|-------------------------------|')
    print('\t\t\t\t|                               |')
    print('\t\t\t\t|   CHOOSE AN OPTION >>         |')
    print('\t\t\t\t|                               |')
    print('\t\t\t\t|-------------------------------|')


print('\t\t\t\t|-------------------------------|')
print('\t\t\t\t|        LCCS BANK LIMITED      |')
print('\t\t\t\t|        ATM Main Menu          |')
print('\t\t\t\t|                               |')
print('\t\t\t\t|       1. Balance Enquiry      |')
print('\t\t\t\t|       2. Cash Lodgement       |')
print('\t\t\t\t|       3. Cash Withdrawal      |')
print('\t\t\t\t|       4. Cash Transfer        |')
print('\t\t\t\t|       5. Change PIN           |')
print('\t\t\t\t|       6. Other Services       |')
print('\t\t\t\t|                               |')
print('\t\t\t\t|       7. Exit                 |')
print('\t\t\t\t|-------------------------------|')
print('\t\t\t\t|                               |')
option = input('\t\t\t\t|   CHOOSE AN OPTION >>         |')
print('\t\t\t\t|                               |')
print('\t\t\t\t|-------------------------------|')

问题是我在打印之前使用输入。我希望选择一个选项部分作为输入,但仍然打印 GUI 的其余部分而不输入任何内容,这样它看起来就不会很奇怪。这就是下面的外壳,我是 python 和编程的新手,顺便说一句,任何帮助将不胜感激!,如果这看起来混乱或令人困惑,我很抱歉。

            |-------------------------------|
            |        LCCS BANK LIMITED      |
            |        ATM Main Menu          |
            |                               |
            |       1. Balance Enquiry      |
            |       2. Cash Lodgement       |
            |       3. Cash Withdrawal      |
            |       4. Cash Transfer        |
            |       5. Change PIN           |
            |       6. Other Services       |
            |                               |
            |       7. Exit                 |
            |-------------------------------|
            |                               |
            |   CHOOSE AN OPTION >>         |

【问题讨论】:

  • 这样的高级功能需要curses 模块(基于 Unix 系统的 Python 标准库的一部分)
  • 基本上,您需要将光标重新定位到您希望输入出现的位置。这很快就会进入一些非平凡的代码。 curses 模块为此提供了一些低级功能。您还可以使用诸如 urwid 之类的简单库。
  • 谢谢大家,我想问问题和实验会帮助我了解更多信息,我会在 curses 模块上观看视频

标签: python python-3.x


【解决方案1】:

如果我正确理解了这个问题,您希望光标保留在“选择选项>>”之后,而在用户输入之前打印其余部分? 这是可能的,但也相当复杂。 Here 与您的问题类似,但正如您所见,它很快就变得相当复杂。

如果你想保持相对简单,你可以这样做:

print("""
\t\t\t\t|-------------------------------|
\t\t\t\t|        LCCS BANK LIMITED      |
\t\t\t\t|        ATM Main Menu          |
\t\t\t\t|                               |
\t\t\t\t|       1. Balance Enquiry      |
\t\t\t\t|       2. Cash Lodgement       |
\t\t\t\t|       3. Cash Withdrawal      |
\t\t\t\t|       4. Cash Transfer        |
\t\t\t\t|       5. Change PIN           |
\t\t\t\t|       6. Other Services       |
\t\t\t\t|                               |
\t\t\t\t|       7. Exit                 |
\t\t\t\t|                               |
\t\t\t\t|   CHOOSE AN OPTION >>         |
\t\t\t\t|                               |
\t\t\t\t|-------------------------------|
""")
option = input()

print("""
\t\t\t\t|-------------------------------|
\t\t\t\t|        LCCS BANK LIMITED      |
\t\t\t\t|        ATM Main Menu          |
\t\t\t\t|                               |
\t\t\t\t|       1. Balance Enquiry      |
\t\t\t\t|       2. Cash Lodgement       |
\t\t\t\t|       3. Cash Withdrawal      |
\t\t\t\t|       4. Cash Transfer        |
\t\t\t\t|       5. Change PIN           |
\t\t\t\t|       6. Other Services       |
\t\t\t\t|                               |
\t\t\t\t|       7. Exit                 |
\t\t\t\t|                               |
\t\t\t\t|   CHOOSE AN OPTION >> {0}       |
\t\t\t\t|                               |
\t\t\t\t|-------------------------------|
""".format(option))

这将给出以下输出:

            |-------------------------------|
            |        LCCS BANK LIMITED      |
            |        ATM Main Menu          |
            |                               |
            |       1. Balance Enquiry      |
            |       2. Cash Lodgement       |
            |       3. Cash Withdrawal      |
            |       4. Cash Transfer        |
            |       5. Change PIN           |
            |       6. Other Services       |
            |                               |
            |       7. Exit                 |
            |                               |
            |   CHOOSE AN OPTION >>         |
            |                               |
            |-------------------------------|

 1
        |-------------------------------|
        |        LCCS BANK LIMITED      |
        |        ATM Main Menu          |
        |                               |
        |       1. Balance Enquiry      |
        |       2. Cash Lodgement       |
        |       3. Cash Withdrawal      |
        |       4. Cash Transfer        |
        |       5. Change PIN           |
        |       6. Other Services       |
        |                               |
        |       7. Exit                 |
        |                               |
        |   CHOOSE AN OPTION >> 1       |
        |                               |
        |-------------------------------|

【讨论】:

  • 感谢您的回复,我看到您使用了 3 个引号而不是每次都输入 print,请记住这一点
猜你喜欢
  • 2019-12-23
  • 1970-01-01
  • 1970-01-01
  • 2013-03-31
  • 2015-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-06
相关资源
最近更新 更多