Swift 如何创建if语句以请求包含or的求和
我想让计算机来计算Swift 如何创建if语句以请求包含or的求和,swift,if-statement,xcode6,Swift,If Statement,Xcode6,我想让计算机来计算 if 1 or 2 + 2 or 3 + 4 or 5 == 6{ // do this } 它将遍历这些组合,发现在第一个数字之间,它将是1,然后是2,然后是3,这将等于6。我如何在代码中做到这一点呢?现在还不清楚你想做什么,但根据你最近的评论,我给出了最好的猜测 给定一个表达式列表,它们中是否有一个等于6 let expressions = [ 1, 2 + 2, 3 + 4, 5, 6 ] for expression in expressions { i
if 1 or 2 + 2 or 3 + 4 or 5 == 6{
// do this
}
它将遍历这些组合,发现在第一个数字之间,它将是1,然后是2,然后是3,这将等于6。我如何在代码中做到这一点呢?现在还不清楚你想做什么,但根据你最近的评论,我给出了最好的猜测 给定一个表达式列表,它们中是否有一个等于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,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 }
让xs=[1,2]
设ys=[2,3]
设zs=[3,4]
函数组合(xs[T],ys[U],zs[V])->[(T,U,V)]{
var结果=[(T,U,V)]()
对于x-in-xs{
为y在y{
对于zs中的z{
结果.追加(x,y,z)
}
}
}
返回结果
}
让组合=联合收割机(xs、ys、zs)
.filter{(x,y,z)in(x+y+z)==6}
您的问题很不清楚。添加您尝试过的更多详细信息或代码。您试图实现什么?您是否有多个要比较的变量,以查看其中是否有一个等于6?