亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python實現的生成自我描述腳本分享(很有意思的程序)

2020-02-23 05:34:42
字體:
來源:轉載
供稿:網友

自我描述的語句指這樣一種語句:它的內容就是對它本身的描述。(廢話……)比如下面這句句子:
代碼如下:
這是一段自我描述的語句,除了標點符號外,它共包含125個字符,其中33個“個”,29個“2”,5個“3”,3個“符”,3個“5”,2個“一”,2個“它”,2個“包”,2個“的”,2個“標”,2個“了”,2個“我”,2個“外”,2個“含”,2個“中”,2個“是”,2個“1”,2個“段”,2個“點”,2個“描”,2個“9”,2個“字”,2個“這”,2個“句”,2個“除”,2個“自”,2個“語”,2個“共”,2個“述”,2個“號”,2個“其”。

這句話是我用一段 Python 腳本生成的,生成原理大致如下:

1、給出一個模板,讓句子的各個內容知道自己該出現在哪個部位;
2、根據當前信息,生成句子;
3、將當前句子作為輸入,再次執行第 2 步的操作;
4、直到句子各部分內容的信息都正確。

簡單來說,就是一個不斷迭代修正的過程。

其中需要注意的是,每次迭代時應該盡量只改動一個地方,以免兩處同時變化相互影響,造成死循環;另外,如果句子中有多處地方需要修正,盡量隨機選取一處進行修正,而不要按一定順序進行修正,同樣是為了減少陷入死循環的風險。

不過,即使如此,某些情況下還是有可能陷入死循環,比如如果某一步得到了下面這樣的句子:
代碼如下:
這句很 2 的話包含 3 個“2”。

上面這句話明顯是錯誤的,因為其中只有兩個“2”。那么,我們把那個“3”改為“2”,是不是就對了呢?很容易發現,如果我們做了這樣的改動之后,句子將變成:
代碼如下:
這句很 2 的話包含 2 個“2”。

這時,句子中又包含三個“2”了。像這樣的句子就似乎無法簡單地改為正確的自我描述語句,因為無論如何改都會陷入死循環。

最后,我用來生成最上面的那句自我描述語句的 Python 腳本如下:

# -*- coding: utf-8 -*-import randomclass SelfDesc(object):  ignore_chars = u",?!啊?  def __init__(self, template):    self.template = template    self.length = 0    self.detail = ""    self.content = ""    self.chars = ""    self.char_count = {}    self.makeContent()    self.char_count = self.getCharCount()    self.getCharCount()    self.makeContent()  def __str__(self):    return self.content  def makeContent(self):    self.makeDetail()    self.content = self.template.replace(u"{length}", u"%d" % self.length)      .replace(u"{detail}", self.detail)    self.getChars()  def getChars(self):    chars = self.content    for c in self.ignore_chars:      chars = chars.replace(c, "")    self.chars = chars    return chars  def getLength(self):    self.length = len(self.chars)  def getCharCount(self):    d = {}    for c in self.chars:      if c in self.ignore_chars:        continue      d.setdefault(c, 0)      d[c] += 1    return d  def makeDetail(self):    d = self.char_count    items = d.items()    items.sort(key=lambda x: -x[1])    s = []    for c, n in items:      s.append(u"%d個“%s”" % (n, c))    self.detail = u",".join(s)  def correct(self):    print "-" * 50    char_count = self.getCharCount()    items = char_count.items()    random.shuffle(items)    for c, n in items:      if n <= 1 and c in self.char_count:        del self.char_count[c]        continue      if self.char_count.get(c) == n:        continue      else:        self.char_count[c] = n        return True    else:      len = self.length      self.getLength()      if len != self.length:        return True    return False  def generate(self):    icount = 0    while self.correct():      icount += 1      self.makeContent()      print u"#%d %s" % (icount, self)def main():  template = u"這是一段自我描述的語句,除了標點符號外,它共包含{length}個字符,其中{detail}。"  sd = SelfDesc(template)  sd.generate()  print u"%s" % sdif __name__ == "__main__":  main()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品免费视频| 国产午夜精品全部视频在线播放| 亚洲天堂开心观看| 亚洲国产99精品国自产| 91亚洲午夜在线| 久青草国产97香蕉在线视频| 精品久久久久久久久久ntr影视| 一区二区三区动漫| 成人免费网视频| 少妇高潮久久77777| 成人黄色片在线| 国产精品久久久久久久久久ktv| 久久精品国产96久久久香蕉| 中文字幕一区二区三区电影| 欧美极品欧美精品欧美视频| 精品国产1区2区| 视频在线一区二区| 国产在线观看精品一区二区三区| 欧美夜福利tv在线| 国产欧美日韩专区发布| 97香蕉超级碰碰久久免费软件| 日韩精品在线看| 欧美视频不卡中文| 欧美精品激情blacked18| 狠狠色香婷婷久久亚洲精品| 国产精品69久久久久| 黄网站色欧美视频| 日韩美女免费视频| 在线精品高清中文字幕| 色伦专区97中文字幕| 午夜精品一区二区三区在线视| 91精品视频免费看| 欧美性jizz18性欧美| 日韩亚洲一区二区| 欧美疯狂做受xxxx高潮| 亚洲精品视频免费在线观看| 亚洲欧美国产另类| 国产精品第3页| 日韩在线视频免费观看高清中文| 精品欧美国产一区二区三区| 伊人久久五月天| 久色乳综合思思在线视频| 国产精品嫩草影院久久久| 久久精品国产电影| 国产一区二区激情| 精品国产一区二区三区久久久| 国产精品久久av| 亚洲国产欧美久久| 国产精品第2页| 国产精品吴梦梦| 国产精品日韩av| 韩国福利视频一区| 91精品在线国产| 98精品国产自产在线观看| 国产精品青草久久久久福利99| 国内揄拍国内精品| 欧美另类在线播放| 日韩中文字幕免费| 97精品国产aⅴ7777| 日韩精品小视频| 欧美精品久久久久久久免费观看| 久久亚洲精品国产亚洲老地址| 亚洲精品电影网| 中文字幕亚洲情99在线| 欧美黄色小视频| 一个人看的www欧美| 2019中文字幕在线免费观看| 国产欧美日韩精品丝袜高跟鞋| 欧美日韩成人在线观看| 91免费欧美精品| 91久久嫩草影院一区二区| 日韩电影中文 亚洲精品乱码| 日韩毛片在线看| 伊人一区二区三区久久精品| 中文字幕av一区二区三区谷原希美| 精品国产电影一区| 日韩视频欧美视频| 欧美性感美女h网站在线观看免费| 97成人精品视频在线观看| 欧美大全免费观看电视剧大泉洋| 深夜福利日韩在线看| 亚洲一区av在线播放| 欧美激情精品久久久久久免费印度| 欧美激情视频在线| 亚洲国产精品一区二区三区| 日韩www在线| 国产精品永久免费观看| 97高清免费视频| 狠狠躁天天躁日日躁欧美| 日韩精品免费综合视频在线播放| 欧美极品美女视频网站在线观看免费| 国产一区二区三区在线播放免费观看| 18性欧美xxxⅹ性满足| 欧美黑人性生活视频| 色综合亚洲精品激情狠狠| 成人免费淫片aa视频免费| 精品国产乱码久久久久久婷婷| 在线不卡国产精品| 欧美成人精品xxx| 国产精品成av人在线视午夜片| 日韩资源在线观看| 亚洲影院高清在线| 亚洲自拍偷拍第一页| 国产精品6699| 日韩**中文字幕毛片| 精品久久国产精品| 欧美一区二区三区艳史| 亚洲影院高清在线| 久久久久久欧美| 国产a级全部精品| 日韩精品中文字幕久久臀| www.日韩av.com| 亚洲国产欧美在线成人app| 国产精品福利在线观看网址| 欧美激情精品在线| 成人精品网站在线观看| 亚洲欧美中文日韩在线| 欧美精品videos| 亚洲精品乱码久久久久久按摩观| 亚洲第一福利网站| 日韩成人av网| 欧美一区二区三区……| 亚洲伊人一本大道中文字幕| 国产精品久在线观看| 国产精品久久久久久av| 欧美另类xxx| 中文字幕日韩欧美在线| 人人爽久久涩噜噜噜网站| 日韩欧美高清在线视频| 日韩欧美999| 精品久久久久久电影| 精品动漫一区二区| 欧美成aaa人片免费看| 国产亚洲精品高潮| 亚洲a级在线观看| 国产手机视频精品| 国产精品天天狠天天看| 国产精品高清在线观看| 国产成人精品最新| 欧美裸体xxxxx| 日韩中文字幕在线观看| 最近免费中文字幕视频2019| 亚洲情综合五月天| 91人人爽人人爽人人精88v| 欧美亚洲在线视频| 国产精品青草久久久久福利99| 日韩av综合中文字幕| 国内精品久久久久久中文字幕| 久久九九国产精品怡红院| 一区二区三区视频在线| 亚洲免费影视第一页| 国产成人拍精品视频午夜网站| 精品国产一区二区三区在线观看| 欧美中文在线观看| 亚洲欧美日韩国产中文| 黑人欧美xxxx| 欧美夫妻性生活xx| 热久久99这里有精品| 成人黄色av网| 成人中心免费视频| 91精品在线观| 欧美国产高跟鞋裸体秀xxxhd| 一区二区三区动漫| 国产精品一区电影|