Python 检查n是否在数组中

Python 检查n是否在数组中,python,arrays,python-3.x,Python,Arrays,Python 3.x,我想在Python3中创建一个程序,允许用户输入单词的字母数量,以及一些字母 例如: >> Input how many letters there are in the word > 5 >> Put _ if no letter is shown, and letter that is shown down > _ell_ >> Possible finds: Hello, Mello >> Update the search

我想在Python3中创建一个程序,允许用户输入单词的字母数量,以及一些字母

例如:

>> Input how many letters there are in the word
> 5

>> Put _ if no letter is shown, and letter that is shown down
> _ell_

>> Possible finds: Hello, Mello
>> Update the search
> Hell_

>> Final find: Hello
>> Restart?:
> Yes

我真的不知道如何用恰当的语言来解释这一点,但正如我所说的,你们是开发人员,所以我相信你们理解这一点

您可以让用户输入单词中字母的数量。 然后让
用户以空白字母和正确字母的形式输入(
st\u ing>>字符串
) 然后它会从字典数组或文本文件中找到一些与搜索匹配的单词(数组的意思是
words=[“word1”、“word2”、“word3”]
等等) 然后,如果查找不超过1个,则可以键入以缩小搜索范围 一旦只有1个find,它将提示重新启动,然后yes=restart

我是python新手,所以这对我来说可能是最复杂的,这就是为什么我要问你

我在问这会有多复杂,如果可能的话,我会怎么做。我已经开始了,这是我现在所有的:(记住我刚刚开始)


如果我正在开发此功能,我会:

  • 把所有的单词放在一个单词里
  • 跳过第一个问题(你可以通过第二个问题的长度来确定单词长度)
  • 为您向用户提出的每个问题设置一个while循环,以便它在无效输入时重复相同的问题
要检查单词,您可以将所有
\uuu
替换为

regex = re.compile(guess.replace('_', '.') + '$')
现在是您一直在等待的部分,检查集合中的项目是否匹配:

match = [m.group(0) for word in wordlist for m in [regex.match(word)] if m]
print(' '.join(match) or "No matches")
上面的列表理解基本上是遍历列表中的每个单词(如果您愿意,可以通过长度进行预过滤),然后检查它是否与先前创建的正则表达式匹配。如果匹配,
m
将是一组,您可以获得第一组,第一组将是您要查找的单词,所有这些单词都打包为匹配的单词列表

最后一行打印由空格分隔的所有匹配项,如果没有任何匹配项,则打印“无匹配项”


这段代码未经测试,我对Python 3的熟悉程度不如对Python 2的熟悉程度。祝你好运!

你还没有真正描述到目前为止你所面临的问题是什么,你只是描述了你正在尝试做什么。到目前为止你自己有什么想法?”但你是开发人员,所以我相信你明白这一点。“我们不是来为您编写代码的,除非您已经代表自己做出了有意义的努力。StackOverflow不是代码编写服务。我可以为您编写代码。你愿意付我多少钱P开玩笑。因此,这不是按需编码服务,我们可能只会在您的问题显示出一些努力的情况下帮助您。我们可以一起解决您面临的问题,而不是解决您的整个任务。我添加了我的尝试,这在我刚开始时很糟糕,但对专业人士来说,这可能是愚蠢的代码!请告诉我如何在hash中执行这些操作当我将其放入代码中时,它会释放一个语法错误(我认为)
regex=re.compile(guess.replace(“,”)+“$”)NameError:name“re”没有定义
我正在使用Python 3.3.0你需要
导入re
,我的朋友。毕竟,这是一个库:)刚刚犯了另一个错误。
回溯(最后一次调用):文件“C:/Users/Jone/Desktop/Word.py”,第29行,在match=[regex.match()]文件“C:/Users/Jone/Desktop/Word.py”,在[regex.match()]中,在单词列表中,在[m.group(0)中,在单词列表中,在[regex.match()]如果m]类型错误:未找到必需的参数“字符串”(位置1)
对不起,
regex.match
缺少第一个参数<代码>单词
。更新了我的答案。
match = [m.group(0) for word in wordlist for m in [regex.match(word)] if m]
print(' '.join(match) or "No matches")