-1
我的應用程序的用戶將被測試他們的英語。他們將通過在該單詞旁邊放置複選標記來從列表中選擇不同的單詞。他們只想選擇名詞的單詞。例如,如果他們正確選擇了5個,我該如何向他們展示50%的分數。我認爲我需要根據用戶的輸入過濾字典值。用戶的輸入是一個數組。對此進行編碼的最佳方式是什麼?Swift 3 - 用字典值匹配用戶輸入
我的應用程序的用戶將被測試他們的英語。他們將通過在該單詞旁邊放置複選標記來從列表中選擇不同的單詞。他們只想選擇名詞的單詞。例如,如果他們正確選擇了5個,我該如何向他們展示50%的分數。我認爲我需要根據用戶的輸入過濾字典值。用戶的輸入是一個數組。對此進行編碼的最佳方式是什麼?Swift 3 - 用字典值匹配用戶輸入
試試下面的代碼: - 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) %")
如果對你有用請接受答案
謝謝!偉大的代碼! – salanthonyc
是使用簡單的數學公式(正確答案* 100)/總問問題 –