Swift 3-将用户输入与字典值匹配

Swift 3-将用户输入与字典值匹配,swift,Swift,我的应用程序的用户将接受英语测试。他们将通过在单词旁边打勾从列表中选择不同的单词。他们只想选择属于名词的单词。例如,如果他们正确地从10个选项中选择了5个,我如何向他们显示50%的分数。我认为我需要根据用户的输入过滤字典值。用户的输入是一个数组。编写此代码的最佳方法是什么 尝试以下代码:--100%工作 let myDictionary : [String : Any] = [ "Nouns":["One","Two","Three","Four","Five","S

我的应用程序的用户将接受英语测试。他们将通过在单词旁边打勾从列表中选择不同的单词。他们只想选择属于名词的单词。例如,如果他们正确地从10个选项中选择了5个,我如何向他们显示50%的分数。我认为我需要根据用户的输入过滤字典值。用户的输入是一个数组。编写此代码的最佳方法是什么

尝试以下代码:--100%工作

     let myDictionary : [String : Any] =
        [  "Nouns":["One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten"],
"Verbs":["Eat","play","dance","walk","run","sing","read","write","go","come"]]
    var myUserSelectedArray:[String] = ["One","come","Three","go","Five","x","Six","x","x","Ten"];

    let myNounArray = myDictionary["Nouns"] as? [String];
    let myVerbArray = myDictionary["Verbs"] as? [String];
    let set1:Set<String> = Set(myUserSelectedArray);
    let set2:Set<String> = Set(myNounArray!);
    let set3:Set<String> = Set(myVerbArray!);
    let scroeInNoun = set1.intersection(set2).count;
    let scroeInVerb = set1.intersection(set3).count;
    print ("score in Verb \((scroeInVerb * 100)/set2.count) %")
    print ("score in noun \((scroeInNoun * 10)/set3.count ) %")
    let finalScore = (scroeInNoun + scroeInVerb) * 100 / ((myNounArray?.count)! + (myVerbArray?.count)!)
    print ("final score in noun \(finalScore) %") 
let myDictionary:[字符串:任意]=
[“名词”:[“一”、“二”、“三”、“四”、“五”、“六”、“七”、“八”、“九”、“十”],
“动词”:[“吃”、“玩”、“跳舞”、“走”、“跑”、“唱”、“读”、“写”、“去”、“来”]]
var myUserSelectedArray:[字符串]=[“一”、“来”、“三”、“去”、“五”、“x”、“六”、“x”、“x”、“十”];
让MyNonOnArray=myDictionary[“nomes”]as?[字符串];
让myVerbArray=myDictionary[“动词”]作为?[字符串];
让set1:Set=Set(myUserSelectedArray);
设set2:Set=Set(myNounArray!);
让set3:Set=Set(myVerbArray!);
设scroeInNoun=set1.intersection(set2.count);
设scroeInVerb=set1.交点(set3).计数;
打印(“动词\(scroeInVerb*100)/set2.count中的分数%”)
打印(“名词分数\((scroinnoun*10)/set3.count)%”)
设finalScore=(scroeInNoun+scroeInVerb)*100/((MyNonuArray?.count)!+(myVerbArray?.count)!)
打印(“名词\(最终分数)%”的最终分数)

如果对您有用,请使用简单的数学公式(正确答案*100)/共问问题接受答案

yes