Hackpads are smart collaborative documents. .

心默 謝

984 days ago
Unfiled. Edited by 心默 謝 984 days ago
心默 謝 # -*- coding:UTF-8 -*- 
from random import choice
import sys
 
def generateModel(text):
    model = {}
    for i in range(1, len(text)+1):
        if text[i] == " ": # "詞"的結尾
            for j in range(i-1,-1,-1):
                if text[j] == " ": # "詞"的開頭
                    fragment = text[j+1:i-1]
                    for k in range(i+1,):
                        if text[k] == " ":
                            next_word = text[i+1:k-1]
                        if fragment not in model:
                            model[fragment] = {}
                        if next_word not in model[fragment]:
                            model[fragment][next_word] = 1
                        else:
                            model[fragment][next_word] += 1
    return model
 
def getNextCharacter(model, fragment):
    words = []
    for word in model[fragment].keys():
        for times in range(0, model[fragment][word]):
            words.append(word)
    return choice(words)
 
def generateText(text, output_length):
    model = generateModel(text)
    end = 0
    for i in range(1,):
        if text == " ":
            end = i
            break
    currentFragment = text[0:end]
    output = ""
    for i in range(0,output_length+1):
        newCharacter = getNextCharacter(model, currentFragment)
        output += newCharacter
        start = 0
        for y in range(0,):
            if text == " ":
                start = y
                break
        currentFragment = currentFragment[start:] + newCharacter 
    print output.encode("UTF-8")
 
text = u" 这 世界 很 复杂 混淆 我 想 说 的话 我 不 懂 太 复杂 的 玩法 什么样 的 礼物 能够 永远 记得住 让 幸福 别 走 的 太仓促 云和天 蝶 和 花 从来不 需要 说话 断 不了 依然 日夜 牵挂 唱 情歌 说 情话 只想 让 你 听 清楚 我爱你 是 唯一 的 倾诉 写 一首 简单 的 歌 让 你 的 心情 快乐 爱情 就 像 一条 河 难免会 碰到 波折 这 一首 简单 的 歌 并 没有 什么 独特 好像 我 那么 的 平凡 却 又 深刻 我 一直 在 思考 让 你 了解 我 的 好 却 忘 了 常常 对 你 微笑 失去 的 忘记 的 我会 尽力 去 弥补 你 是 我 最 珍贵 的 财富 简单 的 歌 好像 我 那么 的 平凡 却 又 深刻 "
if __name__ == "__main__":
    generateText(text, int(sys.argv[1]))
 
 
 

Contact Support



Please check out our How-to Guide and FAQ first to see if your question is already answered! :)

If you have a feature request, please add it to this pad. Thanks!


Log in