Python 2.7 交替词的Python代码

Python 2.7 交替词的Python代码,python-2.7,Python 2.7,交替词是这样一个词:它的字母以严格的顺序交替出现,并以与原始单词相同的顺序使用,构成至少两个其他单词。必须使用所有字母,但较小的单词不一定长度相同。例如,如果一个单词有七个字母,并且每使用一个第二个字母,那么将生成一个四字母单词和一个三字母单词。以下是两个例子: “board”:表示“bad”和“or”。 “腰围”:表示“机智”和“屁股”。 使用处的单词列表,编写一个程序,遍历列表中的每个单词,并尝试每隔一个字母生成两个较小的单词。较小的单词也必须是列表中的成员。以上述方式将单词打印到屏幕上。一

交替词是这样一个词:它的字母以严格的顺序交替出现,并以与原始单词相同的顺序使用,构成至少两个其他单词。必须使用所有字母,但较小的单词不一定长度相同。例如,如果一个单词有七个字母,并且每使用一个第二个字母,那么将生成一个四字母单词和一个三字母单词。以下是两个例子:

“board”:表示“bad”和“or”。 “腰围”:表示“机智”和“屁股”。
使用处的单词列表,编写一个程序,遍历列表中的每个单词,并尝试每隔一个字母生成两个较小的单词。较小的单词也必须是列表中的成员。以上述方式将单词打印到屏幕上。

一些您迄今为止尝试过的示例可能会有所帮助,这不是家庭作业交换

事实上,你可能会被某个人问到这个问题,但由于它有点像高尔夫的代码,这里有一个来自我的快速破解(未经测试)

当然,您需要一组所有的单词,而不仅仅是我在这里展示的几个单词,要找到有效的替代词,您需要在所有单词的集合中循环调用alternade(),忽略返回空列表的单词

也可以将alternade(…)更改为返回布尔值,而不是组成alternade的组成词

(我确信有一些Python大师可以用一种更具Python风格的方式重写它,但我已经有好几年没有真正专业地使用Python了)

您可以尝试以下代码:

f = open("http://www.puzzlers.org/pub/wordlists/unixdict.txt")
for line in f:
    line = line.strip()
    length = len(line)
    word1 = ""
    word2 = ""
    for i in range(0, length,2):
        word1 += line[i]
        try:
            word2 += line[i+1]
        except:
            pass
        word1 = word1.strip()
        word2 = word2.strip()
        print ("==>"), word1, ("and"), word2

你忘了问问题了。
f = open("http://www.puzzlers.org/pub/wordlists/unixdict.txt")
for line in f:
    line = line.strip()
    length = len(line)
    word1 = ""
    word2 = ""
    for i in range(0, length,2):
        word1 += line[i]
        try:
            word2 += line[i+1]
        except:
            pass
        word1 = word1.strip()
        word2 = word2.strip()
        print ("==>"), word1, ("and"), word2