1

这是我的指示:

我们将向您传递一个值 N。您应该输出从 N 到 0(包括 0)的每个正值。

这是我的任务:

    # Get N from the command line
    import sys
    N = int(sys.argv[1])

    # Your code goes here
    counter = 0 
    while counter <= N:
     print(counter-N)
     counter = counter + 1

我的解决方案打印了这个:

Program Output

Program Failed for Input: 3
Expected Output: 3
2
1
0
Your Program Output: -3
-2
-1
0

如您所见,我得到的输出显示 -3, -2, -1, 0,但它应该是 3, 2, 1, 0。请注意我是初学者,我的代码必须使用'while' 语句,我的代码必须在 Codio 中输入。预先感谢您提供的任何帮助。

4

3 回答 3

2

由于我们期望 N 的值高于 counter 的值,因此 counter-N 将为负数。

尝试以下操作:

 import sys
    N = int(sys.argv[1])

    # Your code goes here
    counter = 0 
    while counter <= N:
     print(N-counter)
     counter = counter + 1
于 2017-11-14T19:43:51.773 回答
1

只需从 N 降到 0:

# Get N from the command line
import sys
N = int(sys.argv[1])

# Your code goes here
counter = N
while counter >= 0:
 print(counter)
 counter -= 1
于 2017-11-14T19:46:00.107 回答
0

只需传递counter-Nabs函数:

while counter <= N:
  print(abs(counter-N))
  counter = counter + 1

或者,只需使用N-counter

while counter <= N:
 print(N-counter)
 counter = counter + 1
于 2017-11-14T19:43:26.230 回答