如何在swift上打印字典中的字符串?
如何打印此词典中最大数字的类型如何在swift上打印字典中的字符串?,swift,string,dictionary,character,Swift,String,Dictionary,Character,如何打印此词典中最大数字的类型 let interestingNumbers = [ "Prime": [2, 3, 5, 7, 11, 13], "Fibonacci": [1, 1, 2, 3, 5, 8], "Square": [1, 4, 9, 16, 25], ] var largest = 0 var typeoflargest:String = " " for (kind, numbers) in interestingNumbers { for t
let interestingNumbers = [
"Prime": [2, 3, 5, 7, 11, 13],
"Fibonacci": [1, 1, 2, 3, 5, 8],
"Square": [1, 4, 9, 16, 25],
]
var largest = 0
var typeoflargest:String = " "
for (kind, numbers) in interestingNumbers {
for type in kind.characters {
for number in numbers {
if number > largest {
largest = number
typeoflargest = String(type)
}
}
}
}
print(largest)
print(typeoflargest)
输出:
25
S
为什么我只得到第一个字符“S”而不是“Square”?没有理由迭代
类型的字符串的字符。只需执行以下操作:
let interestingNumbers = [
"Prime": [2, 3, 5, 7, 11, 13],
"Fibonacci": [1, 1, 2, 3, 5, 8],
"Square": [1, 4, 9, 16, 25],
]
var largest = 0
var typeoflargest:String = ""
for (kind, numbers) in interestingNumbers {
for number in numbers {
if number > largest {
largest = number
typeoflargest = kind
}
}
}
print(largest)
print(typeoflargest)
输出:
25
方格
备选办法:
let interestingNumbers = [
"Prime": [2, 3, 5, 7, 11, 13],
"Fibonacci": [1, 1, 2, 3, 5, 8],
"Square": [1, 4, 9, 16, 25],
]
let maximum = interestingNumbers
.map{ type, numbers in return (type: type, number: numbers.max()!) }
.max(by: { $0.number < $1.number })!
print(maximum.type, maximum.number)
然后,通过比较它们的数量,得到最大类型/数量对,得出结果:
(type: "Square", number: 25) // 25 is the max of 25, 13, 8
为什么投票被否决?这是一个明确的问题。它显示了相关的代码。它显示实际和期望的输出。你们的选民还想要什么?@rmaddy我还在调整它,等我有了更最终的答案我会的
(type: "Square", number: 25) // 25 is the max of 25, 13, 8