Golang简单用户输入产品数学问题,例如3 * 2 * 1 = 6

时间:2018-10-31 23:01:28

标签: go

我正在尝试创建一个小程序,允许用户输入一个整数,该整数将输出如下乘积:

例如:

a = 5, 5*4*3*2 = 120
a = 4, 4*3*2*1 = 24  
a = 3, 3*2*1 = 6

有人在我如何更有效地构建框架时可以提供指导吗?如果使用Python,我可能会编写类似以下的逻辑:

def a(num):
    x = 1
    for i in range (num):
            x=x*(i + 1)
    return x

print a(5)

2 个答案:

答案 0 :(得分:2)

您需要先了解go语言本身,之后才能轻松地将python代码转换为go,

很少去学习的资源:


但是无论如何,这是您的python代码的最新版本:

func a(num int) int {
    x := 1
    for i := 0; i < num; i++ {
        x = x * (i + 1)
    }
    return x
}

func main() {
    fmt.Println(a(5)) // 120
    fmt.Println(a(4)) // 24
    fmt.Println(a(3)) // 6
}

工作场所:https://play.golang.org/p/glHwuMhTDYj

答案 1 :(得分:0)

从上一个答案中提取的主要功能-仅按您的要求在此处添加scanf

package main

import (
    "fmt"
)

func a(num int) int {
    x := 1
    for i := 0; i < num; i++ {
        x = x * (i + 1)
    }
    return x
}

func main() {
    var i int
    _, err := fmt.Scanf("%d", &i)
    if nil == err {
        fmt.Println(a(i))
    } else {
        panic(err)
    }
}