我有两种语言的单词列表,其中每个外语单词(在下一行中)按其已知语言的含义进行跟踪。例如:使用队列的词汇测试
hablar
talk
llamar
call
现在我想创建一个使用队列的词汇测试。我的想法是创建2个队列q1和q2。所有单词从q1开始,直到每个单词的含义被正确猜测。如果你得到的单词错误,这个单词将被放置在q1队列的末尾,如果你得到它的话,它将被移到q2。当q1为空时,移至q2并执行相同的操作,除非单词在正确回答时被“扔掉”,并且一旦q2为空时测试完成。
问题是我无法弄清楚如何创建一种方法来将外来单词与已知单词相关联。我想我应该像这样开始:
class Wordpair():
def __init__(self, l1, l2):
self.lang1 = l1
self.lang2 = l2
def __str__(self):
question=input('What does'+self.lang1+'mean?')
但我不知道如何测试preson是否正确或错误地回答。另外,我想我可以以某种方式实现节点,因为单词(Node)的含义将成为下一个单词(Node.next)。我会随着进展而更新,但我会很感激您现在有任何提示。
EDIT1:这是我如何创建队列:
class Queue:
def __init__(self):
self.items = []
def put(self, item):
self.items.append(item)
def get(self):
return self.items.pop(0)
def isempty(self):
return self.items == []
我已经创建了我自己的班级称为队列(检查我在OP编辑)。你可以在代码中定义属性队列吗?我可能会在我的课堂上忽略它。 – Lozansky
@Lozansky我使用Python3提供的bulit-in队列模块,你可以在这里查看:https://docs.python.org/3/library/queue.html#queue-objects – Dinever
@Lozansky我修改了回答并添加了另一个脚本以适合您的问题。 – Dinever