在Python 2.4中读取用户输入,将它放入队列

问题描述:

因此,我正在Python 2.4中编写一个差分计算器程序(我知道它已经过时了,这是一个学校任务,我们的系统管理员不相信更新任何东西)接受以前缀符号(即输入= [+ - * x^2 2x 3x^2 x],等同于x^2 + 2x - 3x^2 * x)的用户输入并计算差分。在Python 2.4中读取用户输入,将它放入队列

我试图找到一种方法来读取命令行用户输入并将数学运算符放入一个队列,但我无法弄清楚它!显然,X = input()和x = raw_input()命令不起作用,并且我可以从python 2.4的文章中找到关于如何读取用户输入的文字。我的问题是:如何在Python 2.4中读取用户输入,以及如何将该输入放入队列中?下面是我想:

1 formula = input("Enter Formula:") 
2 
3 operatorQueue=[] 
4 
5 int i = len(formula) 
6 
7 for x in formula: 
8  if formula[x] == '*', '+', '-', '/': 
9   operatorQueue.append(formula[x]) 
0 
11 print "operator A:", operatorQueue.pop(0) 
12 

这是不工作

任何帮助,将不胜感激

(我不断收到类似的错误:“找不到命令式”,“打印命令未找到”和)

@miku已经回答了这是你最初的问题,但我想我会补充一些。

命令行脚本需要“sh-bang”行,以便使用正确的过程来解释语言,无论是bash,perl,python等。所以在你的情况下,你需要:/usr/bin/env python

这就是说,一旦你得到它运行,你会遇到一些其他问题。应该使用raw_input而不是input,因为它会给你一个原始字符串。 input将尝试和评估你的字符串,这可能会给你带来问题。

您可能需要更多地阅读python语法。 python中的赋值不要求声明变量类型:int a = 1。它是动态的,编译器会为你处理它。

此外,您需要检查如何执行if elif else测试以正确处理您的配方案例。这也无法用多个参数在一行上完成。

如果你是在UNIX上下的平台,把

#!/usr/bin/env python 

top of your program。 shell似乎并没有意识到你正在运行一个python脚本。

+1

而且也不使用输入。而是使用raw_input。 – jdi 2012-04-08 00:06:12