【发布时间】:2015-06-20 09:43:19
【问题描述】:
所以我开始学习 python 并考虑做一个练习,我会尝试编写一个小脚本来看看我是否可以。事实证明,我无法做到恰到好处,本来会放弃它,但有点下定决心,现在对这个特定功能有仇杀。
我想让代码获取给定数字的原始输入,并从中生成数字列表的所有可能排列。例如。如果输入为“5”,那么它将为 [1, 2, 3, 4, 5] 生成所有长度为 5 的排列。
我尝试如下:
from itertools import permutations
from math import factorial
n = raw_input("Input number to generate permutation list")
factorial_func = factorial(n)
print "there are %s permutations as follows:" %(factorial_func)
print list(permutations([1:n], n))
由于 [1:n] 部分,我知道错误行是第 10 行,我不知道如何让它从 1 到 n 列出并将其放入置换函数中。 (我希望通过 [1:n] 它会生成一个从 1 到 n 的列表,就像您可以使用它通过 list_name[a:b] 访问从 a 到 b 的列表的一部分但似乎不是这样)
对不起,如果这看起来真的微不足道或者是一个明显的错误,我几天前才开始尝试学习 python。
【问题讨论】:
-
[1:n]本身就是一个语法错误。您必须对传递给permutations的参数进行更多研究。
标签: python permutation