我正试图用Pascal的三角形来挫败二项式。我有代码:
def next(row):
newrow = [ row[k-1]+row[k]
for k in range(1,len(row)) ]
return [1] + newrow + [1]
def pascal(rowsleft,oldrow):
if rowsleft > 0:
R = next(oldrow)
pascal(rowsleft-1,R)
list1 = [1]
list121 = [1,2,1]
pascal(3,[1,2,1])
rowsleft = exponent
我要做的全部事情就是采用等式“(x + 1)^ 3”,然后把它贴到[(1x ^ 3 * 1 ^ 0)+(3x ^ 2 * 1 ^ 1) +(3x ^ 1 * 1 ^ 2)+(3x ^ 0 * 1 ^ 3)],结果连接到:x ^ 3 + 3x ^ 2 + 3x + 1
答案 0 :(得分:0)
对于解析输入(我看到,这就是你真正需要的),你可以使用其中一个:str.partition(也检查rpartition)或str.split。
示例(断言持有):
assert "a;b;c".parition(";") == ("a", ";", "b;c")
assert "a;b;c".split(";") == ["a", "b", "c"]
我使用分区,在括号之间(通过“^”分区),元组的最后部分我假设是无效的。然后,我会检查第一部分是以“(”开头还是以“)”开头。现在,我将删除“(”和“)”并拆分“+”留下的内容。如果不存在“+”,我会用“ - ”拆分并假设sum的第二部分为负数。现在你有两个加数和expotent,你可以用来形成输出。