2016-11-07 20 views
-1

私のコードはかなりシンプルです。私の仕事は与えられた文字列のあらゆる順列を得ることです。 順列の数を計算します - それは明らかです - 階乗です。この与えられた文字列のPython順列

コード

s = "aba" 
perm = list("".join(string) for string in permutations(s))# all permutations 
numberOfPerm = len(perm) #number of permutations 
unique = len(list(set(perm))) #number of unique permutations 
list.sort(perm) # ascii sorting 
format_list = [numberOfPerm, unique] 
print("total: {} (unique: {}) ".format(*format_list)) 
print(perm) 

出力が

total: 6 (unique: 3) 
['aab', 'aab', 'aba', 'aba', 'baa', 'baa'] 

である事は、私はそれが私が様々なソリューションなどにぶつかったこの

total: 6 (unique: 3) aab, aab, aba, aba, baa, baa 

ようにする必要があります''.join(finalArray)ですが、私のpycharmやVPL(仮想プログラミングラボ)でも動作しません - トレースバックエラーが表示されます。最終的な助けをありがとう。

+0

は、あなたは*あなたが受けているエラーを投稿する参考になると思いません?* [文字列のリストで連結した項目]の –

+0

可能な複製(http://stackoverflow.com/questions/12453580/リスト内の項目を連結する) –

答えて

0
print("total: {} (unique: {}) {}".format(*format_list, ', '.join(perm)) 
+0

このソリューションはVPLをパスしませんが、pycharmでは間違いなく機能します。 ファイル "Anagram.py"、行10 print( "合計:{}(ユニーク:{}){}"後に続くかもしれません*式 – Rickertbrandsen

+0

'format_list [0]、format_list [1]'で '* format_list'を変更しようとします。 – Uriel

+0

はPythonの基礎知識に問題があるようです。私は 's = str(input())'を 's =" aba "'の代わりに使用していますが、このテストでは2つの失敗があります。 'トレースバック(最新の呼び出し最後): ファイル" Ana.py " NameErrorで4行目、中 S = STR(入力()) ファイル ""、行1、:名 'クラドノは' – Rickertbrandsen

関連する問題