我想让计算机计算
if 1 or 2 + 2 or 3 + 4 or 5 == 6{
// do this
}
并且它将通过组合并在第一个数字之间找到1然后是2然后3并且等于6我怎么能在代码中执行此操作?
答案 0 :(得分:0)
目前还不清楚你要做什么,但根据你的最新评论,这是我最好的猜测。
给定一个表达式列表,它们中的任何一个都等于6?
let expressions = [ 1, 2 + 2, 3 + 4, 5, 6 ]
for expression in expressions {
if expression == 6 {
println("found the number 6!")
break
}
}
以上将打印"找到数字6!"如果任何表达式等于6,在这个例子中,数组中的最后一个条目是6,所以它将打印"找到数字6!"
答案 1 :(得分:0)
我相信你要问的问题是:给定列表[1,2]
,[2,3]
和[3,4]
,这些值的组合总和为6.如果是这样,你只是想要总结并检查。
let xs = [1,2]
let ys = [2,3]
let zs = [3,4]
func combine<T,U,V>(xs: [T], ys:[U], zs:[V]) -> [(T,U,V)] {
var result = [(T,U,V)]()
for x in xs {
for y in ys {
for z in zs {
result.append(x,y,z)
}
}
}
return result
}
let combinations = combine(xs, ys, zs)
.filter { (x, y, z) in (x + y + z) == 6 }