Python 我需要一些帮助在列表中查找列表中的内容(以及其他内容)
我14岁了(实际上不到一个小时就15岁了:D),我真的在为此奋斗。 我正在尝试创建一个非常基本的学习AI。目前,我只是在尝试建立它的框架,帮助它学习新单词,所以它有点混乱和粗糙。 无论如何,这个想法是,当它不理解一个单词时,它会询问它是什么,然后如果用户提供的同义词被识别,它会将其添加到该同义词的同义词列表中。 不幸的是,我不断遇到错误和问题,现在我只是感到困惑。 请帮我看一下。哦,我为它糟糕的结构和糟糕的一切道歉:Python 我需要一些帮助在列表中查找列表中的内容(以及其他内容),python,list,machine-learning,artificial-intelligence,Python,List,Machine Learning,Artificial Intelligence,我14岁了(实际上不到一个小时就15岁了:D),我真的在为此奋斗。 我正在尝试创建一个非常基本的学习AI。目前,我只是在尝试建立它的框架,帮助它学习新单词,所以它有点混乱和粗糙。 无论如何,这个想法是,当它不理解一个单词时,它会询问它是什么,然后如果用户提供的同义词被识别,它会将其添加到该同义词的同义词列表中。 不幸的是,我不断遇到错误和问题,现在我只是感到困惑。 请帮我看一下。哦,我为它糟糕的结构和糟糕的一切道歉: #standard dictionary dictionary = {1:"
#standard dictionary
dictionary = {1:"hi",2:"yes",3:"no"}
wordvariations=[[],["yes,Yes"],["no,No"]]
#variables
breaker=0
response = "error"
success=0
#import
from random import choice
#word types
question_words= {"who","what","where","why","when","which","how","whom","Who","What","Where","Why","When","Which","How","Whom"}
#What does that mean?
def what_does_that_mean(new_word):
link_word = input("Sorry, I don't know what that means. Could you tell me? It means the same as the word...\n")
success=0
for current_dict in wordvariations:
if link_word in current_dict == TRUE:
print ("Thanks")
current_dict.append[new_word]
success=1
break
if success == 0:
tryagain = input("Sorry, I don't know what that means either. Would you like to try again? (y/n) \n")
if input == "y":
testword= input("Give me another word \n")
what_does_this_mean(testword)
else: return
#First start
possible_greeting =input("Hey. Nice to meet you.\n")
split_greeting = possible_greeting.split()
for each_word in split_greeting:
if each_word in question_words:
response = "Sorry, I can't answer questions yet"
breaker=1
break
elif (each_word == ("too")):
response = "Thanks"
breaker=1
break
else: pass
if breaker ==1:
pass
else:
yes_no = input("Is that how you usually greet people?\n")
if yes_no == "yes":
wordvariations[1].append(possible_greeting)
elif yes_no=="no":
new_greeting = input("Ok then. How do you often greet people?")
wordvariations[1].append(new_greeting)
else:
what_does_that_mean(yes_no)
#print (response)
#Other stuff
current_greeting = choice(wordvariations[1])
print (current_greeting)
如果任何缩进看起来真的不对劲,我可能把它放错了问题框
我真的很感激这里的任何帮助——我觉得我在兜圈子。目前,搜索似乎不起作用,因为它从未找到结果。这是最需要修复的单词查找功能区域,其余的只是一种启动脚本,可以让事情继续进行。试着忽略那些完全无用的东西,它们只是为了以后
提前感谢:)祝贺你,杰克:D 有几件事会让你更容易
>>> 'How'.lower()
'how'
if word.lower() in word_list: # where word_list contains lower case only
因此,您可以随时将单词的大写/小写版本改为小写
if link_word in current_dir == TRUE:
可以简单地写出来
if link_word in current_dir:
也可以使用布尔值(真/假)代替整数
success=1
可以改为success=True
,有布尔值的话,如果成功了,你可以用检查它们
(如果您喜欢,实际上有一个for…else
,在没有success变量的情况下,它完全可以完成您想要做的事情)
current\u dict.append[newword]
应该是current\u dict.append([newword])
或current\u dict.append(newword)
调用变量input
时也出现了一些失误,比如if-input='y'
我也知道你在运行Python2还是Python3?在python 2中,输入(“?”)
不是您想要的(它是原始输入(“?”)
我想你会希望问候语部分的wordvariations
是你自己的。比如称它为问候语。(这样你就不必一直…[1]
)
你写的是
这是什么意思
而不是这是什么意思
你能举一个例子,说明你会用它进行交互,以及你希望它做什么吗?“是的,是的”的预期用途是什么?结构看起来好像在工作(但可能是我累了)谢谢。我做了你建议的更改,加上一些缺失的语音标记,完全修复了它。非常感谢,我现在真的很满意。