我想知道如何使应用程序生成一个随机数,该随机数的数字是通过在UITextField中键入(例如,介于25到35之间)确定的,但是该数字不会重复且无法显示某些数字,这也是通过键入确定的在UITextField中,例如:28、29和30。 因此,按下按钮,他将显示数字25、26、27、31、32、33、34和35(记住,不再重复)
我尝试了几个地方和课程,但是没有得到有效的答案。
答案 0 :(得分:0)
创建一组要包含的值
let allValues = Set(25...35)
创建您不想包含的值列表
let exceptions = [28, 29, 30]
删除不需要的值
let valuesToUse = values.subtracting(exceptions)
随机播放订单
let randomValues = valuesToUse.shuffled()
您现在可以使用randomValues
来提供一个不重复的所需值的随机列表。
答案 1 :(得分:0)
创建一个数字数组和一个不需要的数字
let array1 = Array(25...35)
let array2 = Array(28...30)
删除您不想用来创建最终数组的数字
let correctArray = Array(Set(array1).subtracting(array2))
此后,使该函数可以不重复使用随机数
func extract() {
let count = correctArray.count
while count > 1 {
let randomNumber = Int.random(in: 0 ... count)
let extractedNumber = correctArray[randomNumber]
correctArray[count] = correctArray[randomNumber]
count -= 1
}
}