Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 比较从两个字符串计算的值_Swift - Fatal编程技术网

Swift 比较从两个字符串计算的值

Swift 比较从两个字符串计算的值,swift,Swift,两个人参加比赛。将有一个简单、困难和中等的问题 每个难度的分数: E:1 M:3 H:5 用户将输入两个字符串(A和B),函数应找出更大的分数或平局 func winner(A: String, B: String) -> String { var sumA = 0 var sumB = 0 var sumhigh = 0 var checker: Bool = false for i in 0..<(A.count-1)

两个人参加比赛。将有一个简单、困难和中等的问题

每个难度的分数:

  • E:1
  • M:3
  • H:5
用户将输入两个字符串(A和B),函数应找出更大的分数或平局

func winner(A: String, B: String) -> String {

     var sumA = 0
     var sumB = 0
     var sumhigh = 0

     var checker: Bool = false 
     for i in 0..<(A.count-1) {
         if (erica[i] == "E") {
            sumA += 1
            checker = true
         } else if (A[i] == "M"){
            sumA = sumA + 3
            checker = true
         } else if (A[i] == "H"){
            sumA += 3
            checker = true
         }
     }
     return String(sumA)
}

print(winner(A: "EHH", B: "EME"))

Desired result : A Wins // How to achieve this
func赢家(A:String,B:String)->String{
var sumA=0
var sumB=0
var sumhigh=0
var检查器:Bool=false
对于0..中的i,请检查此项

func phraseValue(sentence: String) -> Int
{
  var count = 0
  for letter in sentence
  {
    if letter == "E"
    {
        count += 1
    }
    else if letter == "M"
    {
        count += 3
    }
    else if letter == "H"
    {
        count += 5
    }
  }
 return count
}
最后

func winner(A: String, B: String) -> String {

     var sumA = 0
     var sumB = 0

     sumA = valuePhrase(sentence: A)
     sumB = valuePhrase(sentence: B)

     if sumA == sumB
     {
        return "tie"
     }
     else if sumA > sumB
     {
        return String(sumA) + "A wins"
     }
     else
     {
        return String(sumB) + "B wins"
     }
}

这将比较两个字符串以确定获胜者

func checkWinner(aString: String, bString: String) -> String {

    // Make lowercase for comparison, so that input case does not matter
    let a = aString.lowercased()
    let b = bString.lowercased()

    // Dictionary of values
    let scoreDict: [Character : Int] = ["e": 1, "m": 3, "h": 5]

    // Score variables to increment
    var aTotal = 0
    var bTotal = 0

    // Calculate scores
    for char in a {
        aTotal += scoreDict[char] ?? 0
    }
    for char in b {
        bTotal += scoreDict[char] ?? 0
    }

    // Calculate winner
    if aTotal == bTotal {
        return "It’s a draw"
    } else {
        return aTotal > bTotal ? "A wins! Score: \(aTotal)" : "B wins! Score: \(bTotal)"
    }
}

// Here is an example in which A wins
print(checkWinner(aString: "ehh", bString: "meh"))

欢迎来到StackOverflow。不清楚您的问题是什么。这似乎是一个家庭作业问题和解决方案。您的解决方案有问题吗?