在python 2.4中读取用户输入,将其放入队列中

时间:2012-04-07 23:59:44

标签: python queue command-line-arguments python-2.4

所以我在python 2.4中写了一个差分计算器程序(我知道它已经过时了,这是一个学校作业而我们的系统管理员不相信更新任何东西)接受前缀表示法中的用户输入(即输入= [+ - * x ^ 2 2x 3x ^ 2 x],相当于x ^ 2 + 2x - 3x ^ 2 * x)并计算差分。

我正试图找到一种方法来读取命令行用户输入并将数学运算符放入队列中,但我无法弄明白!显然,X = input()和x = raw_input()命令不起作用,我可以找到关于如何在python 2.4中读取用户输入的0文档。我的问题是:如何读取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 

哪个不起作用(我不断收到“print:command not found”和“formula:command not found”这样的错误)

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

如果您使用的是unix-ish平台,请输入

#!/usr/bin/env python 
<{3>} top of your program。 shell似乎没有意识到你正在运行python脚本。

答案 1 :(得分:1)

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

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

话虽这么说,一旦你开始运行,你将会遇到其他一些问题。应该使用raw_input而不是input,因为它会返回一个原始字符串。 input将尝试评估你的字符串,这很可能会给你带来麻烦。

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

此外,您还需要查看如何进行if elif else测试以正确处理公式的情况。那也不会在一行中使用多个参数完成所有工作。