【问题标题】:Python: Execute a line by user input?Python:通过用户输入执行一行?
【发布时间】:2015-03-24 02:04:00
【问题描述】:

我目前正在开发一款游戏,我想知道是否有任何方法可以通过用户输入执行诸如文本文件之类的命令?

我想在文本不会一次全部弹出的地方设置它,但您可以执行诸如“按任意键继续”之类的操作,当他们这样做时,会出现下一个文本墙。任何帮助表示赞赏。谢谢。

【问题讨论】:

  • Python 不支持“按任意键继续”。它只支持“按回车继续”
  • 在决定制作游戏之前,我强烈建议阅读 Python 教程的前 9 章。无论如何,您想要的是 Python 2 的 raw_input() 和 Python 3 的 input()。

标签: python text input io


【解决方案1】:

简单的方法是:

input('Press Enter to continue')

(在 Python 3 中;raw_input 而在 Python 2 中)但这确实会等待 Enter,AKA 返回,然后再继续。

如果您真的对 any-key 部分非常执着,那么您将不得不“低调而肮脏”。仅在 Microsoft Windows 中,

import msvcrt
def wait():
    msvcrt.getch()
print('Press any key to continue')
wait()

会工作——但在 Linux 或 MacOSX 上会失败;你需要其他方法来解决这些问题。所以请告诉我们您需要支持哪些平台,我们会想办法解决的!-)

【讨论】:

  • 好吧,我想出来的方法是:print ("PRESS ANY KEY TO CONTINUE") user = input(" ") if user == " ": print (hike1.read())
  • 这变成了一个密码,如果用户知道按空格键然后按 Enter 键,它只会打印下一个文本墙。您希望它在用户输入的任何内容上滚动,因此只需获取输入并将其丢弃而不检查它。
【解决方案2】:

尝试将input("Press Enter to continue") 放在打印每面文本墙之间。

【讨论】:

  • raw_input 用于 python 2.x
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多