Код компилируется, но for-l oop он не выполняется - PullRequest
0 голосов
/ 18 января 2020
package main

import "fmt"

// I want to make a code that outputs a series of "n" odd numbers.
// For example-> Input : 7 --> Output : 1 , 3 , 5 , 7

func main(){

var n int
var i int

fmt.Println("I'll give you a series of odd numbers to n ") // I'm asking which number do I want the series to stop.

fmt.Scanln(&n)

  if n%2 == 1 {

    for i=0 ; i >= n; i++ { // Here it's supposed to print out the series but at least something
                            // The whole code compiles but when I execute it, the program just takes the number that I ask in the Scanln
      var odd int          // and it stops there. What am I doing wrong? The for cycle? 

        odd = (i*2) - 1

      fmt.Printf(disp)

    }

  } else {

    fmt.Println("It's round") //I've put the for in an (if/else) just to see if it somehow it didn't read until the for part.
                              //But the (if/else) works but the for cycle doesn't. I'm so confused.
  }

}

1 Ответ

0 голосов
/ 18 января 2020

Я думаю, что ваша проблема со следующей строкой:

...
for i=0 ; i >= n; i++ {
...

Условие для для l oop должно быть истинным для l oop внутри.

Но здесь i начинаются с 0, а n всегда выше, кроме случаев, когда вы установите 0.

Измените условие для i, чтобы оно было меньше n, и оно будет работать.

...