package main
import (
"fmt"
"math/rand"
"time"
)
func ifinballs(parma int, list [6]int) bool {
for _, b := range list {
if b == parma {
return false
}
}
return true
}
func getRedBall() {
var redballs [6]int
for i := 0; i < 6; i++ {
for {
rand.Seed(time.Now().UnixNano())
num := rand.Intn(33) + 1
if ifinballs(num, redballs) {
redballs[i] = num
break
} else {
continue
}
}
}
fmt.Print(redballs)
}
func main() {
//num1 := rand.Int()
//fmt.Println(num1)
//
//for i := 0; i < 10; i++ {
// num := rand.Intn(10)
// fmt.Println(num)
//}
//rand.Seed(1000000)
//num2 := rand.Intn(10)
//fmt.Println("a----->", num2)
//
/*
只有种子不一样的时候我们才能获取到不同的随机数
所以我们这儿使用一下时间戳来进行我们的一个种子的获取
获取时间使用函数time.Now() 时间格式是 2020-03-05 11:38:28.0204254 +0800 CST m=+0.003990201
这儿获取的时间是标准格式,我们需要取得时间戳,所以我们使用
t1.Unix()指的是获取秒的时间戳
t1.UnixNano()指的是获取纳秒的时间戳
*/
//t1 := time.Now()
//fmt.Println(t1)
//timeStamp1 := t1.Unix()
//timeStamp2 := t1.UnixNano()
//fmt.Println(timeStamp1)
//fmt.Println(timeStamp2)
//fmt.Printf("%T\n",t1)
/*
下面开始真正的获取随机数
Step1:获取种子数,设置为时间戳
Step2:调用生成随机数的函数
*/
//rand.Seed(time.Now().UnixNano())
//for i:=0; i<10 ; i++ {
// //fmt.Println("------>",rand.Intn(200))
// /*
// Intn是指可以获取0-n之间的随机数
// 我们可以通过加法来写某某到某某之间的随机数
// 例如我们取得 15-32之间的随机数我们取17的随机加上15就好
// */
// fmt.Println("------>",rand.Intn(18)+15)
// }
/*
到这儿咱们学习了取随机数,下面咱们实践一下,我们做一个彩票随机抽取的小程序
首先我们写两个类 一个类抽取红球,一个类抽取蓝球
*/
rand.Seed(time.Now().UnixNano())
var blueballs [1]int
var nums int
fmt.Println("请输入你需要机选几注")
fmt.Scan(&nums)
for i:=0; i<nums; i++ {
num := rand.Intn(16) + 1
blueballs[0] =num
fmt.Print("红球号码是----》")
getRedBall()
fmt.Println(" 蓝球号码是----》",blueballs)
}
}