学习笔记14------猜数字游戏

猜数字游戏

需求:要求用户输入3位数,与系统随机产生的3位数,进行每一位比较,如果不相等,提示用户输入的数字是大了还是小了,如果相等,提示一致。最后每一位上的数字都一致,退出程序。
package main

import (
   "math/rand"
   "time"
   "fmt"
)

func main() {
//创建随机数种子
   rand.Seed(time.Now().UnixNano())
  //系统随机出一个三位数并放入切片中
   s := make([]int, 3)
   s[0] = rand.Intn(9) + 1
   s[1] = rand.Intn(10)
   s[2] = rand.Intn(10)

   var num int
   //统计正确次数
   var cons int
   //定义一个空切片用来接收用户输入的数字
   temp := make([]int, 3)

   for {

      fmt.Println("请输入一个三位数")
      fmt.Scan(&num)
      if num >= 100 && num <= 999 {
         temp[0] = num / 100
         temp[1] = num / 10 % 10
         temp[2] = num % 10
         //将用户的数字和系统数字进行比较
         for i := 0; i < 3; i++ {
            if s[i] > temp[i] {
               fmt.Printf("第%d位的数字小了\n", i+1)
            } else if s[i] < temp[i] {
               fmt.Printf("第%d位的数字大了\n", i+1)
            } else {
               cons++
               fmt.Printf("第%d位的数字输入正确\n", i+1)
            }
         }
         //三次正确,游戏结束,不正确,次数归零,重新计数
         if cons==3{
            fmt.Println("答案正确,游戏结束")
            break
         }else {
            cons=0
         }
      } else {
         fmt.Println("输入错误")
      }
   }

}

猜你喜欢

转载自blog.csdn.net/weixin_42927934/article/details/82119880