如何无限期地(永远)保持 Swift 循环 运行?
How to keep a Swift loop running indefinitely (forever)?
我写了一个函数,目前可以显示 1000 以下的所有质数。
我可以不断增大 1000 以生成更多数字,但我不知道如何让它永远持续一次 运行。
func generatePrimes() {
let numbers = 2...1000
for n in numbers {
var prime = true
for i in 2..<n {
if n % i == 0 {
prime = false
break
}
}
if prime == true {
print(n)
}
}
}
使用 while
循环而不是 for
循环。也可以使用 for
循环来完成,但是当您知道要执行的迭代次数或范围时,首选 for
循环。如果您使用 while 循环,您只需设置循环的条件,在这种情况下,您需要将条件指定为 true,因为您希望循环永远 运行。
只需将代码中的 for
循环替换为 while
。它应该看起来像这样
while(true)
{
if n % i == 0 {
prime = false
break
}
}
您可以使用参数为 true
的 while
循环。这样,循环将永远不会结束。
func generatePrimes() {
var n = 2
while true {
var prime = true
for i in 2..<n {
if n % i == 0 {
prime = false
break
}
}
if prime == true {
print(n)
}
n += 1
}
}
请注意,我们在 while 循环的每次迭代中使用变量 (n
) 并递增(向其加 1)。
如果您希望它在达到某些 n
时结束,您可以有一个条件来检查 n
和 break
的循环:
var n = 2
while true {
if n == 1000 {
break
}
n += 1
}
上面的代码将在 n
命中 1000
时停止执行,并且在这种情况下不会打印任何内容。
func generatePrimes() {
var prime = true
let numbers = 2...1000
for n in numbers {
prime = true
if n == 2 || n == 3 {
print(n)
} else {
for i in 2..<n-1 {
if n % i == 0 {
//not prime numbers
prime = false
}
}
if prime == true {
print(n)
}
}
}
}
你可以这样做。只排除 1 和 n.
您还可以使用 do {}
块和 continue
语句构建无条件无限循环。
AGAIN:
do {
print("step...")
continue AGAIN
}
我写了一个函数,目前可以显示 1000 以下的所有质数。
我可以不断增大 1000 以生成更多数字,但我不知道如何让它永远持续一次 运行。
func generatePrimes() {
let numbers = 2...1000
for n in numbers {
var prime = true
for i in 2..<n {
if n % i == 0 {
prime = false
break
}
}
if prime == true {
print(n)
}
}
}
使用 while
循环而不是 for
循环。也可以使用 for
循环来完成,但是当您知道要执行的迭代次数或范围时,首选 for
循环。如果您使用 while 循环,您只需设置循环的条件,在这种情况下,您需要将条件指定为 true,因为您希望循环永远 运行。
只需将代码中的 for
循环替换为 while
。它应该看起来像这样
while(true)
{
if n % i == 0 {
prime = false
break
}
}
您可以使用参数为 true
的 while
循环。这样,循环将永远不会结束。
func generatePrimes() {
var n = 2
while true {
var prime = true
for i in 2..<n {
if n % i == 0 {
prime = false
break
}
}
if prime == true {
print(n)
}
n += 1
}
}
请注意,我们在 while 循环的每次迭代中使用变量 (n
) 并递增(向其加 1)。
如果您希望它在达到某些 n
时结束,您可以有一个条件来检查 n
和 break
的循环:
var n = 2
while true {
if n == 1000 {
break
}
n += 1
}
上面的代码将在 n
命中 1000
时停止执行,并且在这种情况下不会打印任何内容。
func generatePrimes() {
var prime = true
let numbers = 2...1000
for n in numbers {
prime = true
if n == 2 || n == 3 {
print(n)
} else {
for i in 2..<n-1 {
if n % i == 0 {
//not prime numbers
prime = false
}
}
if prime == true {
print(n)
}
}
}
}
你可以这样做。只排除 1 和 n.
您还可以使用 do {}
块和 continue
语句构建无条件无限循环。
AGAIN:
do {
print("step...")
continue AGAIN
}