麻烦的while循环和结束=' '

时间:2017-10-05 16:32:58

标签: python while-loop

我正在编写一个程序,其中一行数字打印在一行上。不过我的代码是:

while True:
    user = int(input('Enter'))
    if user > 0 :
        for x in range (0,user +1):
            print(x,end=' ')

具有以下输出:

Enter9
0 1 2 3 4 5 6 7 8 9 Enter

为什么在同一行输入打印?我该如何改变?

3 个答案:

答案 0 :(得分:2)

使用此:

while True:
    user = int(input('Enter'))
    if user > 0 :
        for x in range (0,user +1):
            print(x,end=' ')
        print()

print()循环后,您只需添加一个for语句。这样可以确保在打印出范围序列中的元素后添加换行符。

答案 1 :(得分:1)

您的打印命令不会以新行结束。添加:

print()

for循环之后。

答案 2 :(得分:1)

您的代码在同一行打印“Enter”,因为您将print的“end”参数设置为' '。因此,当您打印“回车”时,您从同一行开始而不是新行。默认值“end”为\n,这意味着在print语句之后它将打印一个新行。

我建议您在打印“Enter”之前添加\n。这将解决您的问题,并将更容易阅读。尝试将您的代码更改为:

while True:
    user = int(input('\nEnter: '))
    if user > 0 :
        for x in range (0,user +1):
            print(x,end=' ')

你会看到类似的结果:

Enter: 7 
0 1 2 3 4 5 6 7
Enter: 8 
0 1 2 3 4 5 6 7 8
Enter: 4 
0 1 2 3 4
Enter: 1 
0 1