diff options
author | Peng Wu <alexepico@gmail.com> | 2015-03-11 17:42:15 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2015-03-11 17:42:15 +0800 |
commit | b492c0027fc917d5e05027e7d5c1acbd44b92717 (patch) | |
tree | 4a79da718500e11af2c69abe96b0660a3ad7d716 /scripts/utils.py | |
parent | 3b2f55b3c34a6ae0a9a438fdb69d2bd0b15e5c6f (diff) | |
download | libzhuyin-b492c0027fc917d5e05027e7d5c1acbd44b92717.tar.gz libzhuyin-b492c0027fc917d5e05027e7d5c1acbd44b92717.tar.xz libzhuyin-b492c0027fc917d5e05027e7d5c1acbd44b92717.zip |
update scripts for pinyin tables
Diffstat (limited to 'scripts/utils.py')
-rw-r--r-- | scripts/utils.py | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/scripts/utils.py b/scripts/utils.py index bd975a2..f3e46c5 100644 --- a/scripts/utils.py +++ b/scripts/utils.py @@ -17,7 +17,8 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301, USA. import os @@ -26,12 +27,13 @@ header = '''/* This file is generated by python scripts. Don't edit this file di */ ''' + def expand_file(filename, get_table_content): infile = open(filename, "r") print(header) for line in infile.readlines(): line = line.rstrip(os.linesep) - if len(line) < 3 : + if len(line) < 3: print(line) continue if line[0] == '@' and line[-1] == '@': @@ -39,3 +41,25 @@ def expand_file(filename, get_table_content): print(get_table_content(tablename)) else: print(line) + + +def shuffle_all(instr): + for output in shuffle_recur(instr): + if output == instr: + continue + yield output + + +def shuffle_recur(instr): + if len(instr) == 1: + yield instr + else: + for i, ch in enumerate(instr): + recur = instr[:i] + instr[i+1:] + for s in shuffle_recur(recur): + yield ch + s + + +if __name__ == "__main__": + for s in shuffle_all("abc"): + print(s) |