Swift repeat-while循环
Swift repeat-while循环

Swift repeat-while循环

在 Swift 中,repeat 是一种循环结构,通常与 while 搭配使用。它的语法如下:

repeat {
    // 循环体
} while (条件)

特点

1、至少执行一次

repeat 循环先执行循环体,再检查条件。这意味着即使条件一开始为 false,循环体也会执行一次。

2、适用场景

当需要先执行某些操作,然后根据条件决定是否继续循环时,repeat 非常适用。

用法示例

基础用法

var counter = 1

repeat {
    print("Counter is \(counter)")
    counter += 1
} while counter <= 5

输出:

Counter is 1
Counter is 2
Counter is 3
Counter is 4
Counter is 5

避免随机数重复

下面是一个更实际的例子,生成一个随机数直到它与指定的值不同为止:

var lastRandomNumber: Int? = nil
var newRandomNumber: Int

repeat {
    newRandomNumber = Int.random(in: 1...10)
} while newRandomNumber == lastRandomNumber

print("Generated unique random number: \(newRandomNumber)")
lastRandomNumber = newRandomNumber

需要记录最近的几个随机数并避免重复,结合 repeat 循环和队列可以实现:

var lastRandomIndexes: [Int] = [] // 保存最近的随机数
let maxHistorySize = 3 // 历史记录长度
var newRandomNumber: Int

repeat {
    newRandomNumber = Int.random(in: 1...10)
} while lastRandomIndexes.contains(newRandomNumber) // 避免重复
lastRandomIndexes.append(newRandomNumber)
if lastRandomIndexes.count > maxHistorySize {
    lastRandomIndexes.removeFirst() // 超出长度限制时移除最旧的
}

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注