登录
首页 >  Golang >  Go问答

数字之谜 - Sololearn Go 挑战

来源:stackoverflow

时间:2024-02-28 10:27:26 283浏览 收藏

在IT行业这个发展更新速度很快的行业,只有不停止的学习,才不会被行业所淘汰。如果你是Golang学习者,那么本文《数字之谜 - Sololearn Go 挑战》就很适合你!本篇内容主要包括##content_title##,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我目前正在使用 sololearn 应用学习 go。

挑战是:

以 0-10 范围内的 3 个数字作为输入,并输出相应的英文文本

测试用例#1测试用例#3测试用例#4#测试用例#5成功.

但我在总结测试用例#2测试用例#6时遇到问题。

预先感谢您提供的任何帮助。

package main
import "fmt"

func main() {
   
   for i:=0;i<3;i++ {
   var x int
   fmt.Scanln(&x)

   if (x>=0 && x<10) {
  
       switch x {
          case 0:
            fmt.Print("Zero")
          case 1:
            fmt.Print("One")
          case 2:
            fmt.Print("Two")
          case 3:
            fmt.Print("Three")
          case 4:
            fmt.Print("Four")
          case 5:
            fmt.Print("Five")
          case 6:
            fmt.Print("Six")
          case 7:
            fmt.Print("Seven")
          case 8:
            fmt.Print("Eight")
          case 9:
            fmt.Print("Nine")
          case 10:
            fmt.Print("Ten")
          default:
            fmt.Println("This is not a number or a number between 0 and 10")
         }
        }
        if i<2 {
           fmt.Println("")
        }
       }
   
  }

正确答案


也许通过共享测试用例会让我们更容易理解正在发生的事情。

但乍一看,我会将 x<10 替换为 x<=10,并将所有 fmt.print 替换为 fmt.println 并删除这部分。

if i<2 {
       fmt.println("")
    }

如果保留验证输入数字在 0 到 10 之间的条件,则永远不会打印默认情况的消息。

并且让我与您分享解决方案的另一种方法,它是相同的,但有一些好的实践:

package main

import "fmt"

var validWrittenNumbers = map[int]string{
    1: "One",
    2: "Two",
    3: "Three",
    4: "Four",
    5: "Five",
    6: "Six",
    7: "Seven",
    8: "Eight",
    9: "Nine",
    10: "Ten",
}

func printValidWrittenNumber(candidateNumber int) {
    if stringNumber, ok := validWrittenNumbers[candidateNumber]; ok {
        fmt.Println(stringNumber)
    }
}

func main() {
    inputTimes := 3

    for index := 0; index < inputTimes; index++ {
        var candidateNumber int
        _, _ = fmt.Scanln(&candidateNumber)

        printValidWrittenNumber(candidateNumber)
    }
}

我希望这能起作用,很抱歉没有提供更多帮助!

理论要掌握,实操不能落!以上关于《数字之谜 - Sololearn Go 挑战》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>