python - 文字游戏问题

标签 python file for-loop

我创建了一个函数,它接受一个单词和一串“禁止”字母,如果该单词不使用任何字母,则返回 True。

def avoids(word,forbidden):
    for letter in word:
        if letter in forbidden:
            return False
    else:
        return True

我想修改它,而不是使用“禁止”作为要避免的字母,系统将提示用户放置几个字母并打印不包含任何字母的单词数。我还有一个 .txt 文档,其中包含这些词以使其变得有趣。

这是我想出的错误。如果可能的话,我想要一些帮助和教育,因为我的“在线”老师从不在身边提供帮助。请帮助:)

def word_no_forbidden():
    forbidden = input('pick 5 letters')
    fin = open('words1.txt')
    no_forbidden_word = 0
    for line in fin:
        word = line.strip()
        for letter in word:

            if forbidden in word:
                continue
            print word

这是我得到的错误,我理解它,但是,我不确定还有什么方法可以解决这个问题......

  Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
     word_no_forbidden()
  File "C:/Python27/test.py", line 9, in word_no_forbidden
     if forbidden in word:
  TypeError: 'in <string>' requires string as left operand, not tuple

最佳答案

def word_no_forbidden():
    forbidden = raw_input('pick 5 letters')
    fin = open('words1.txt')
    no_forbidden_word = 0
    for line in fin:
        word = line.strip()
        for letter in list(word):
            if letter in forbidden:
                break
        else:
            print word

注意:

1> 正如温斯顿所说,使用 raw_input

2> 如果您想遍历一个字符串,请使用 list(your_string) 获取字符列表

3> 此处的 else 仅在我们的 for letter in list(word) 循环完成而不会中断时执行(换句话说,没有一个字母是在禁止)

关于python - 文字游戏问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7522569/

相关文章:

java - 如何在java中单向同步两个目录结构中的文件?

file - Struts2上传文件,在发送文件之前验证文件大小和内容类型

javascript - 具有特定延迟的 100 个动画循环

javascript - 开始使用 javascript,有一个问题

python - Pandas:没有排序索引和列的数据透视表

javascript - 如何使用 Canvas 元素显示图形

c# - 在带有缩进的文本文件中写入文本(C#代码)

python - 我如何释放由 "for"引起的内存

python - Pandas - 多线图

python - Pandas,如何按日期重新排序