Generate Array of Unique Random Numbers within Inclusive Range

后端 未结 6 1192
忘掉有多难
忘掉有多难 2020-12-29 14:05

I am trying to write a function in Apple Swift (iOS) that will generate any given amount of unique random numbers that are within a given inclusive range, say between 0 and

6条回答
  •  悲哀的现实
    2020-12-29 14:36

    // 1st version where I only blacklisted 8
    var randomNumbers = [Int]()
    for _ in 1...7 {
        var number = Int(arc4random_uniform(8))+1
        while  randomNumbers.contains(number) || number == 8{
            number = Int(arc4random_uniform(8))+1
        }
        randomNumbers.append(number)
    }
    print(randomNumbers)
    
    // 2nd version where I created an array of blacklisted numbers
    var randomNumbers = [Int]()
    var blackList = [8, 5, 2, 7]
    for _ in 1...3 {
        var number = Int(arc4random_uniform(10))+1
        while  randomNumbers.contains(number) || blackList.contains(number){
            number = Int(arc4random_uniform(10))+1
        }
        randomNumbers.append(number)
    }
    print(randomNumbers)
    

    I created 2 empty arrays "randomNumbers" and "blackList" then set up a for loop statement. In the loop statement I initialize the variable "number." I assign "number" to a random number, then I use a while statement and .contians to check if "number" is already in the array "randomNumbers" or if the "number" is in the array "blackList" if either array contains "number," "number is reassigned until neither array contains "number". Then I randomNumbers.append(number) to append "number" into "randomNumbers" then the loop starts over again.

提交回复
热议问题