从 python 中的 raw_input 以相反顺序打印结果
在循环中使用 raw_input
时,直到键入某个字符(例如 'a'
),如何以相反的顺序打印之前的所有输入,而不存储数据结构中的输入?
使用字符串很简单:
def foo():
x = raw_input("Enter character: ")
string = ""
while not (str(x) == "a"):
string = str(x) + "\n" + string
x = raw_input("Enter character: ")
print string.strip()
但是如果没有字符串我怎么能做同样的事情呢?
When using raw_input
in a loop, until a certain character is typed (say 'a'
), how can I print all the inputs before that, in reverse order, without storing the inputs in a data structure?
Using a string is simple:
def foo():
x = raw_input("Enter character: ")
string = ""
while not (str(x) == "a"):
string = str(x) + "\n" + string
x = raw_input("Enter character: ")
print string.strip()
but how could I do the same without a string?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这不是一个实用的方法,但既然你要求它:
当然,这仅意味着我正在使用“隐藏”数据结构、本地命名空间和调用堆栈。
This is not a practical approach, but since you asked for it:
Of course this only means that I'm using "hidden" data structures, the local namespace and the call stack.
您必须将结果存储在某些数据结构中。但是,您可以将每个输入存储在列表中并避免所有字符串连接,而不是字符串:
You have to store the results in some data structure. Instead of a string, however, you could store each input in a list and avoid all the string concatenation: