首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Golang简单用户输入乘积数学问题,如3*2*1 =6

问Golang简单用户输入乘积数学问题,如3*2*1 =6
EN

Stack Overflow用户
提问于 2018-11-01 07:01:28
回答 2查看 91关注 0票数 0

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

例如:

代码语言:javascript
复制
a = 5, 5*4*3*2 = 120
a = 4, 4*3*2*1 = 24  
a = 3, 3*2*1 = 6

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

代码语言:javascript
复制
def a(num):
    x = 1
    for i in range (num):
            x=x*(i + 1)
    return x

print a(5)
EN

回答 2

Stack Overflow用户

发布于 2018-11-01 11:27:25

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

很少有go学习资源:

但不管怎样,下面是python代码的go版本:

代码语言:javascript
复制
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

票数 2
EN

Stack Overflow用户

发布于 2018-11-01 18:42:04

从前面的答案中获取的main函数-只有按您的请求添加到此处的scanf

代码语言:javascript
复制
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)
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53093087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档