我正在尝试创建一个小程序,允许用户输入一个整数,该整数将输出如下乘积:
例如:
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)
答案 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
}
答案 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)
}
}