編輯:對那些沮喪的人:我完全清楚我不想要代碼,並且我已經自己嘗試過了。我所尋找的只是對數學過程產生樣本結果的解釋。Python:查找唯一字符串的唯一子序列
第一個問題。我做了大量的研究並最終訴諸問題,所以如果我錯過了某個地方的答案,我很抱歉。我有一個問題我真的很掙扎:
編寫Python 3腳本,需要三個命令行參數:
1.包含N個字符串通過空格分開 一個文本文件的名稱。
2.一個正整數k。
3.腳本創建的 文本文件的名稱,用於存儲來自輸入 文件的n個字符串中的k個唯一字符串的所有可能的 子序列,每行一個子序列。
例如,假設 命令行是gen.py input.txt中3和output.txt的input.txt中 該文件包含以下行:
的Python爪哇C++的Java的Java的Python
然後該程序應該創建文件output.txt的含有 以下行(以任何次序):
的Python爪哇C++
的Python C++的Java
爪哇C++的Python
C++的Java的Python
的 組合應該與實施 發生器本功能來生成離子(即使用關鍵字yield)。
從我的理解,基於樣本輸出這並不完全遵循子的定義;它們也不是排列組合,所以我不知道如何去做這件事。我知道如何做文件IO和命令行參數部分,我只是無法得到正確的子序列。我不需要一個直接的答案,因爲我應該解決這個問題,但如果有人能給我一些有用的見解,它將不勝感激。
在這個例子中輸出,爲什麼沒有'Java的Python的C++'和'C++的Python Java'禮物? – 2015-02-09 03:13:13
這是我的問題的來源:我可以很容易地編寫代碼,在上面的示例輸出中生成4個字符串的代碼。我相信這兩個因爲原始字符串的順序而不包括在內。因爲中間沒有「Python」的子序列。 – m7mansfield 2015-02-09 03:17:10
我假設你不能使用'itertools。組合「爲你做到這一點,但這就是你如何做到這一點...... – 2015-02-09 03:24:10