100个随机数 swift_swift 随机数 - CSDN
精华内容
参与话题
  • ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:...

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/ 
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/10305789.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    (1)、生成随机数

    random(in:) :适用于所有数字类型生成随机数的方法 ,它返回给定范围内的随机数。并且适用于布尔类型。

     1 print(Int.random(in: -100...100))
     2 //Print -89
     3 
     4 print(Int32.random(in: -100...100))
     5 //Print 75
     6 
     7 print(Int64.random(in: -100...100))
     8 //Print 98
     9 
    10 print(UInt32.random(in: 0...100))
    11 //Print 4
    12 
    13 print(UInt64.random(in: .min ... .max))
    14 //Print 3163649096186785965
    15 
    16 print(Double.random(in: 0..<1))
    17 //Print 0.42567458317242557
    18 
    19 print(Float.random(in: 0..<1))
    20 //Print 0.7992699
    21 
    22 print(Bool.random())
    23 //Print true

    API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数。

    这个api也很好的避免了modulo bias偏差的发生。

     1 func coinToss(count tossCount: Int) -> (heads: Int, tails: Int) {
     2     var tally = (heads: 0, tails: 0)
     3     for _ in 0..<tossCount {
     4         let isHeads = Bool.random()
     5         if isHeads {
     6             tally.heads += 1
     7         } else {
     8             tally.tails += 1
     9         }
    10     }
    11     return tally
    12 }
    13 
    14 //测试
    15 let (heads, tails) = coinToss(count: 1000)
    16 print("1000 coin tosses — heads: \(heads), tails: \(tails)") 
    17 //Print 1000 coin tosses — heads: 496, tails: 504

    (2)、集合的随机元素:randomElement()

    randomElement()方法的返回值为可选类型。

    如果集合为空集合,则返回的值为nil

     1 let arr1:[Int] = []
     2 print(arr1.randomElement())
     3 //Print nil
     4 
     5 
     6 let arr2:[String] = ["s","t","r","e","n","g","t","h","e","n"]
     7 
     8 //Optional可选类型
     9 print(arr2.randomElement())
    10 //Print Optional("g")
    11 
    12 //强制解包使用用感叹号!
    13 print(arr2.randomElement()!)
    14 //Print g

    (3)、集合元素随机顺序:shuffle()

    适用于MutableCollection和RandomAccessCollection的所有类型。

     1 let numbers = (1...10).shuffled()
     2 print(numbers)
     3 //Print [2, 7, 6, 5, 3, 10, 9, 1, 8, 4]
     4 
     5 let mutableNumbers = Array(10...20).shuffled()
     6 print(mutableNumbers)
     7 //Print [14, 13, 20, 16, 18, 17, 19, 12, 15, 11, 10]
     8 
     9 let arr:[String] = ["s","t","r","e","n","g","t","h","e","n"].shuffled()
    10 print(arr)
    11 //Print ["s", "r", "h", "e", "n", "t", "t", "g", "e", "n"]

    (4)、自定义随机数生成器

    标准库附带一个默认的随机数生成器Random.default,对于大多数简单的用例是一个不错的选择。

    如果有特殊要求,可以采用RandomNumberGenerator协议实现自己的随机数生成器。

    用于生成随机值的所有API都提供了一个允许用户传入其首选随机数生成器的重载:

     1 //一个模拟“random.default”的伪随机数生成器。
     2 struct MyRandomNumberGenerator: RandomNumberGenerator {
     3     var base = Random.default
     4     mutating func next() -> UInt64 {
     5         return base.next()
     6     }
     7 }
     8 
     9 var customRNG = MyRandomNumberGenerator()
    10 Int.random(in: 0...100, using: &customRNG)
    11 //Print 4

    (5)、扩展您随机数Random类型

    可以按照相同的模式,为您自己的类型提供随机数据API。

     1 enum Suit: String, CaseIterable {
     2     case diamonds = ""
     3     case clubs = ""
     4     case hearts = ""
     5     case spades = ""
     6 
     7     static func random<T: RandomNumberGenerator>(using generator: inout T) -> Suit {
     8         // Using CaseIterable for the implementation
     9         return allCases.randomElement(using: &generator)!
    10 
    11     }
    12 
    13     static func random() -> Suit {
    14         return Suit.random(using: &Random.default)
    15     }
    16 }
    17 
    18 let randomSuit = Suit.random()
    19 randomSuit.rawValue   
    20 //Print ♣

     

    转载于:https://www.cnblogs.com/strengthen/p/10305789.html

    展开全文
  • swift之获取随机数

    千次阅读 2018-03-06 16:10:21
    //获取随机数 func getRandom(){ //1:下面是使用arc4random函数求一个1~100随机数(包括1和100) let randomNumber:Int = Int(arc4random() % 100) + 1 print(randomNumber) //func arc4random_un...

     //获取随机数

        func getRandom(){

            //1:下面是使用arc4random函数求一个1~100的随机数(包括1和100)

            let randomNumber:Int = Int(arc4random() % 100) + 1

            

            print(randomNumber)


            //func arc4random_uniform(_: UInt32) -> UInt32.接受一个 UInt32 的数字 n 作为输入,将结果归一化到 0 到 n - 1 之间。只要我们的输入不超过 Int 的范围,就可以避免危险的转换:

            let randomNumberTwo:Int = Int(arc4random_uniform(100))+1

            print(randomNumberTwo)

            // 如果想指定区间的最小值(如随机数区间在[5, 100)

            // let max: UInt32 = 100

            // let min: UInt32 = 5

            // arc4random_uniform(max - min) + min

            

            

        }

    展开全文
  • import Foundation//生成随机数(十位数)然后求余var randoma = arc4random();print(randoma)//1...50的随机数var randomb = randoma % 50print(randomb)if randomb == 0 { print("The num is 50")} ...

    import Foundation


    //生成随机数(十位数)然后求余


    var randoma = arc4random();

    print(randoma)


    //1...50的随机数

    var randomb = randoma % 50

    print(randomb)


    if randomb == 0 {

        print("The num is 50")

    } else {

        print("The num is \(randomb)")

    }


    //直接生成1...100的一个随机数


    let temprandom = Int(arc4random_uniform(100)) + 1

    print(temprandom)


    结果:

    3982032407

    7

    The num is 7

    11

    Program ended with exit code: 0


    展开全文
  • Swift中获取随机数

    2017-12-12 18:13:02
    如果我们需要一个随机整数,我们可以使用arc4random系列函数,其实这函数大家用的很多了吧,比如说我们需要生成一个指定范围内的一个随机数,我们则需要给他指定一个上限max,arc4ramdom()返回值类型是UInt32。...
    在我们日常的开发过程中在很多场景都需要获取随机数,包括很多数据类型,整形,长整形等。
    如果我们需要一个随机整数,我们可以使用arc4random系列函数,其实这个函数大家用的很多了吧,比如说我们需要生成一个指定范围内的一个随机数,我们则需要给他指定一个上限max,arc4ramdom()返回值类型是UInt32。下面看一下例子
    arc4random()/max //这样我们就取到指定范围的一个随机数,不过max如果不是2的次幂方时,会产生模偏差的问题。
    

    我们也可以使用arc4random_uniform函数,它接受一个UInt32类型的参数,指定随机区间上边界max,生成的随机数范围是0到max,当然不包括max,也就是[0,max)这样。使用方式如下:
    arc4random_uniform(max)
    

    如果想取指定区间的随机数可以使用一下写法
    arc4random_uniform(max - min) + min
    

    在这里就不回顾传统的C随机数函数rand和random了,它们都要随机种子而且取值范围不如arc4random.

    查看原文:https://www.liuandy.cn/ios/2017/12/12/2124.html
    展开全文
  • swift获取随机数

    千次阅读 2014-07-07 11:16:47
    arc4random_uniform(10)
  • Swift中使用随机数  在我们的开发过程中,有时需要...而Swift中并没有像Java中一样提供一个专门的Random类来集中的生成随机数.  在Swift中,提供了几全局的函数来生成随机数.一个是random(),还有一个是arc4ra
  • Swift - Swift生成随机数

    千次阅读 2015-05-22 16:26:39
    Swift生成随机数
  • iOS Swift 生成随机数

    2019-10-18 11:17:10
    生成 X- Y 区间的随机数 let randomInt = Int((arc4random() % (6 - 4 + 1) + 4))
  • //随机数字母和数字 func getRandomStringWithNum(num:Int) -> String { var string = "" var i = 0 while i<num { i+=1 let number = arc4random() % 36 ...
  • swift随机数随机4位数5位数6位数7位数8位数
  • 在我们开发的过程中,时不时地需要产生一些随机数。这里我们总结一下Swift中常用的一些随机数生成函数。... 如果我们想要一个整型的随机数,则可以考虑用arc4random系列函数。我们可以通过man arc4ran...
  • Swift随机数

    千次阅读 2015-12-10 17:22:56
    基本整型随机数的使用: //1:下面是使用arc4random函数求一个1~100随机数(包括1和100) let randomNumber:Int = Int(arc4random() % 100) + 1 //2:下面是使用arc4random_uniform函数求一个1~100随机数(包括1...
  • 本文价值与收获 看完本文后,您将能够作出下面的界面 基础知识 随机数是专门的随机试验的结果。在统计学的不同技术中需要使用随机数,比如在...SwiftUI 计算随机数 import SwiftUI import Foundation struct ContentV
  • [Swift]swift随机数

    2019-07-27 17:19:00
    开发中很多地方都会用到随机数,下面说说随机数的使用。 先来小示例 let dicFaceCount: UInt32 = 16 //定义随机数产生范围 let randomRoll = Int(arc4random_uniform(dicFaceCount)) + 1 //用arc4random方法...
  • Swift中,可以使用... 下面通过创建一个随机数生成器函数”作为演示: 在指定范围内生成随机数,同时每次生成的随机数都不重复。//随机数生成器函数 func createRandomMan(start: Int, end: Int) ->() ->Int! {
  • SwiftUI 中随机数的工作原理 在Swift 4.2之前,使用原始C API生成随机数。通过在Swift 4.2中添加RandomNumberGenerator协议,开发人员可以轻松地生成随机数。让我们看看如何使用新的API,但最重要的是,如何在Swift...
  • Swift随机数产生

    2019-04-22 09:44:53
    arc4random是一个十分优秀的随机数算法,并且在Swift中也可以使用。它会返回给我们一个任意整数,我们想要在某个范围里的数的话,可以做模运算取余数就行了。 但是Swift的Int是和CPU构架有关的:在32位的CPU上实际上...
  • Swift中使用随机数

    千次阅读 2015-12-28 16:13:28
    Swift中并没有像JAVA中一样提供一个专门的Random类来集中的生成随机数. 在Swift中,提供了几全局的函数来生成随机数.一个是random(),还有一个是arc4random(),以及专门生成浮点的srand48(Int)和drand48(). 这些...
  • 1,下面是使用arc4random函数求一个1~100随机数(包括1和100) 1 var temp:Int = Int(arc4random()%100)+1 2,下面是使用arc4random_uniform函数求一个1~100随机数(包括....
1 2 3 4 5 ... 20
收藏数 1,104
精华内容 441
关键字:

100个随机数 swift