python列表追加

时间:2013-01-27 13:56:33

标签: python list math

我正准备编写一个评估多项式的​​程序。但是下面的代码只是一个尝试。下面的代码给出了一个在“counter = t”时停止的输出......我想让它在counter = 0时给出一个输出。怎么可能?我想将每个数字(输入)视为多项式的系数。如果我成功做到这一点,我打算为列表中的每个元素创建一个列表,然后我将它乘以一个提升到其索引的特定数字,然后将它们加起来以便我评估一个多项式..我清楚了吗?我的计划会成功吗?非常感谢..请帮助..

t = input("Enter degree of Polynomial: ")  
while t < 0:  
    print ("Not possible! ")  
    t = input("Enter degree of Polynomial: ")   

counter = 0  

while counter < t:  
    x = input("n: ")

    if x <= 0:
        print "Not possible!"
    else:
        print x**t  
    t-=1  

    counter += 1

输出是这样的:
输入多项式次数:5
n:5
3125
N:4
256个
N:3
27个
然后结束..它应该继续要求输入n最多五次..

4 个答案:

答案 0 :(得分:2)

尝试使用raw_input()并记住raw_input()始终返回一个字符串。所以你必须将返回的字符串转换为如下的整数:

>>> x = int(raw_input("foo: "))

然后可以测试像x&gt;这样的东西。 2等没有转换为整数,会发生以下情况:

>>> "2" > 1
True
>>> "2" > 3
True

答案 1 :(得分:0)

这样的东西?

while True:
    degree = int(raw_input("Enter degree of Polynomial: "))
    if degree >= 0:
        break
    print ("Not possible!")  

x = float(raw_input("x = "))

y = 0.0
for exponent in reversed(range(degree)):
    k = float(raw_input("k[{0}] = ".format(exponent)))
    y += k * (x ** exponent)

print("y = ", y)

这解决了以下形式的多项式:

y = (k[N-1] * (x ^ N-1) + (k[N-2] * (x ^ N-2) + ... + k[0]

答案 2 :(得分:0)

首先:做得好 - 这只是一个小错误:删除你最后一行中的“句法空白”,或者完全删除它

其次:不要忘记添加值;-) - 关于标题,最好使用python列表。

答案 3 :(得分:0)

问题似乎(对我来说)你的循环依赖于2个变量,你可能期望它只依赖于1。

也许这会更好一些:

while t > 0:  
    x = input("n: ")

    if x <= 0:
        print "Not possible!"
    else:
        print x**t  
    t-=1