如何在不重复之前的随机数的情况下在 Swift 中生成随机数? [英] How to generate a random number in Swift without repeating the previous random number?

查看:34
本文介绍了如何在不重复之前的随机数的情况下在 Swift 中生成随机数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对 Swift 和编程逻辑还很陌生,请耐心等待

I'm pretty new to Swift and programming logic in general so bear with me

如何在 Swift 中生成 0 到 9 之间的随机数而不重复上次生成的数字?因为同一个数字不会连续出现两次.

How can you generate a random number between 0 and 9 in Swift without repeating the last generated number? As in the same number won't come up twice in a row.

推荐答案

将之前生成的数字存储在一个变量中,并将生成的数字与之前的数字进行比较.如果它们匹配生成一个新的随机数.重复生成新数字,直到它们不匹配为止.

Store the previous generated number in a variable and compare the generated number to the previous number. If they match generate a new random number. Repeat the generation of new numbers until they don't match.

var previousNumber: UInt32? // used in randomNumber() 

func randomNumber() -> UInt32 {
    var randomNumber = arc4random_uniform(10)
    while previousNumber == randomNumber {
        randomNumber = arc4random_uniform(10)
    }
    previousNumber = randomNumber
    return randomNumber
}

这篇关于如何在不重复之前的随机数的情况下在 Swift 中生成随机数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆