我有一个类型为Int的数字数组.我想循环遍历数字列表以获得Swift编程语言(iOS8)中的奇数和偶数.模数(%)运算符在此处不适用于被除数(/)运算符.我不知道怎么计算呢?
提前致谢.
Cha*_*sha 88
var myArray = [23, 54, 51, 98, 54, 23, 32];
for myInt: Int in myArray{
if myInt % 2 == 0 {
println("\(myInt) is even number")
} else {
println("\(myInt) is odd number")
}
}
Run Code Online (Sandbox Code Playgroud)
num*_*8er 25
if yourNumber % 2 == 0 {
//even Number
} else {
// Odd number
}
Run Code Online (Sandbox Code Playgroud)
取自这里
要么
if yourNumber.remainder(dividingBy: 2) == 0 {
//even Number
}
else {
// odd Number
}
Run Code Online (Sandbox Code Playgroud)
取自这里
pka*_*amb 12
Swift 5 将该功能添加isMultiple(of:)
到BinaryInteger
协议中。
let even = binaryInteger.isMultiple(of: 2)
let odd = !binaryInteger.isMultiple(of: 2)
Run Code Online (Sandbox Code Playgroud)
此函数可用于代替%
奇数/偶数检查。
此功能是通过 Swift Evolution 过程添加的:
值得注意的是,isEven
和isOdd
被提出,但不是在同一个评审接受的:
鉴于添加
isMultiple(of:)
,核心团队认为isEven
并isOdd
没有提供比isMultiple(of: 2)
.因此,该提案经修改后被接受。
isMultiple(of:)
被接受,但isEven
和isOdd
被拒绝。
如果需要,可以通过扩展轻松添加这些方法:
extension BinaryInteger {
var isEven: Bool { isMultiple(of: 2) }
var isOdd: Bool { !isEven }
}
Run Code Online (Sandbox Code Playgroud)
“奇偶校验”是奇数和偶数的数学概念的名称:
您可以扩展 SwiftBinaryInteger
协议以包含parity
枚举值:
enum Parity {
case even, odd
init<T>(_ integer: T) where T : BinaryInteger {
self = integer.isMultiple(of: 2) ? .even : .odd
}
}
extension BinaryInteger {
var parity: Parity { Parity(self) }
}
Run Code Online (Sandbox Code Playgroud)
这使您能够switch
在整数上优雅地处理两种情况:
switch 42.parity {
case .even:
print("Even Number")
case .odd:
print("Odd Number")
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
54466 次 |
最近记录: |