Golang Простой пользовательский ввод Математический вопрос о продукте, например 3 * 2 * 1 = 6 - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь создать небольшую программу, которая позволяет пользователю вводить целое число, которое будет выводить продукт, например:

Например:

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 голосов
/ 01 ноября 2018

основная функция, взятая из предыдущего ответа - здесь добавлен только 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)
    }
}
0 голосов
/ 01 ноября 2018

Сначала вам нужно изучить сам язык go, после этого вы сможете преобразовать свой код Python в go, easy .

Немногие учебные ресурсы:


Но в любом случае, вот версия 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...