在这个课后作业中,我们将对给定的猜数字游戏进行改进,使用fmt.Scanf来简化代码实现。同时,我们会记录代码实现过程和文件路径。
1. 实现思路
猜数字游戏的目标是让用户猜测一个随机生成的秘密数字,直到猜中为止。用户每次猜测后,程序会根据猜测与秘密数字的大小关系给出提示。
2. 代码实现
以下是改进后的代码实现,使用fmt.Scanf来获取用户输入:
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
maxNum := 100
rand.Seed(time.Now().UnixNano())
secretNumber := rand.Intn(maxNum)
fmt.Println("Welcome to the Guess the Number Game!")
fmt.Println("I'm thinking of a number between 1 and", maxNum)
var guess int
for {
fmt.Print("Please enter your guess: ")
_, err := fmt.Scanf("%d", &guess)
if err != nil {
fmt.Println("Invalid input. Please enter an integer value.")
continue
}
if guess > secretNumber {
fmt.Println("Your guess is bigger than the secret number. Please try again.")
} else if guess < secretNumber {
fmt.Println("Your guess is smaller than the secret number. Please try again.")
} else {
fmt.Println("Congratulations! You guessed the correct number:", secretNumber)
break
}
}
}
3. 结论
通过使用fmt.Scanf来获取用户输入,我们简化了代码并提高了用户体验。这个作业让我们更熟悉了Go语言的基本输入输出和流程控制。在工程实践中,我们可以继续优化代码结构、错误处理等方面,以使代码更加健壮和易于维护。这是最简单的一个作业。