如何在Python中找到两个单独单词的属性?

如何在Python中找到两个单独单词的属性?,python,random,Python,Random,我需要随机选择两个不同的单词,然后得到与它们链接的值。让我进一步解释: 第一个列表是“阳性、阴性、中性、复数”,第二个列表是“nom、acc、gen、dat” 我想让程序从每个选项中随机选择一个,然后让用户提供选项。因此,如果选择了masc+nom,用户应该回答(通过输入选项)命令。当他们这样做的时候,我想告诉他们他们是对还是错 我希望这是有道理的 您将如何实现这一点?我可以随意选择单词,但我不确定如何找到答案 任何帮助都会很好。谢谢 听起来你需要一些正确答案的表格 如果你做了一张这样的桌子:

我需要随机选择两个不同的单词,然后得到与它们链接的值。让我进一步解释:

第一个列表是
“阳性、阴性、中性、复数”
,第二个列表是
“nom、acc、gen、dat”

我想让程序从每个选项中随机选择一个,然后让用户提供选项。因此,如果选择了masc+nom,用户应该回答(通过
输入
选项)命令。当他们这样做的时候,我想告诉他们他们是对还是错

我希望这是有道理的

您将如何实现这一点?我可以随意选择单词,但我不确定如何找到答案


任何帮助都会很好。谢谢

听起来你需要一些正确答案的表格

如果你做了一张这样的桌子:

[["der","die","das","die"],
 ["den","die","das","die"],
 ["dem","der","dem","den"],
 ["des","der","des","der"]]
您可以按索引查找条目,如下所示:

mfnp = "masculine, feminine, neuter, plural".split(',')
nadg = "nom, acc, gen, dat".split(',')

s1 = "masculine"
s2 = "acc"
print table[mnfp.index(s1)][nadg.index(s2)]
使用字典: 或者,您可以将所有条目放入字典:

d = {}
d["masculine"]["nom"] = "der"
d["masculine"]["acc"] = "den"
#...
d["neuter"]["gen"] = "dem"
#etcetera

您需要一个单词及其属性列表,这些是您输入的答案:

list1 = ["masc", "fem"]
list2 = ["dom", "gen"]
answers = {"word1": ["masc", "nom"], "word2": ["fem", "gen"], ...}

prop1 = random.choice(list1)
prop2 = random.choice(list2)
answer = input_from_user(prop1, prop2)
if prop1 in answers[answer] and prop2 in answers[answer]:
    print "correct"
else:
    print "incorrect"

这将从列表中随机抽出一个字符串

from random import *

list1 = ['masculine', 'feminine', 'neuter','plural']
list2 = ['nom','acc','gen','dat']

var1 = random.sample(list1,1)
var2 = random.sample(list2,1)

var3 = str(var1) + '+' + str(var2)
输出:

den

der
是什么意思?我不明白它是如何与“masc”和“nom”联系在一起的。是的,我想用一个类比或其他的方法,但我想这可能会让它更混乱。它是德语的。德语中有16个单词表示“the”,它来自。对不起,我说的模棱两可。嗯。。。16个案例,但只有6个不同的词:)@KarlKnechtel这显然是我的意思。我认为使用“word”这个词是完全可以接受的,并且是可以理解的。您可能想交换表中的第3行和第4行,使其语法正确(“dem der dem…”表示“dat”,而“des der des…”表示“gen”)。我最终使用了这个答案,因为在我的问题中,对随机元素和用户输入的要求似乎是最容易理解的。只需要几行额外的代码,现在就可以正常工作了。谢谢
den