我的程序模拟一场足球比赛。默认球队与随机球队比赛。var club: String
而每个俱乐部会在一个区间内打进一定数量的球,这个区间对球队来说是独一无二的。
我产生了一个随机数 teamN
而这个数字就在下面的案例陈述中。如果随机数是 "1",那么对手是曼联。"2 "是热刺等。
这是我的代码。
switch teamN {
case 1:
club = manU
goalsA = Int.random(in:0...2) // goalsA = # of goals Manchester United scored
goalsH = Int.random(in:0...3) // goalsH = # of goals default team scored
case 2:
club = tott
goalsA = Int.random(in:0...2)
goalsH = Int.random(in:2...5)
case 3:
club = chel
goalsA = Int.random(in:1...4)
goalsH = Int.random(in:0...4)
case 4:
club = manC
goalsA = Int.random(in:2...5)
goalsH = Int.random(in:0...3)
case 5:
club = wat
goalsA = Int.random(in:0...2)
goalsH = Int.random(in:1...5)
case 6:
club = ever
goalsA = Int.random(in:0...2)
goalsH = Int.random(in:1...5)
case 7:
club = liv
goalsA = Int.random(in:2...4)
goalsH = Int.random(in:0...3)
default:
club = oops
goalsA = Int.random(in:0...99)
goalsH = Int.random(in:0...99) }
我如何给一个区间内产生的随机数分配一个概率?
目标是manU产生 "0"30%,"1"50%,"2"20%。这在Swift playground中如何写?
你需要根据概率生成一个数组。
喜欢
p(0) = 30%
p(1) = 50%
p(2) = 20%
所以我们的数组应该是
let probability = [0,0,0,1,1,1,1,1,2,2]
现在从这个数组中获取随机数
if let getNumber = probability.randomElement() {
// assign that to your variable
}