在python中添加一个新行 - COP1000的作业练习

时间:2017-02-03 04:03:38

标签: python

好的所以我上课时有这个功课,这里是规范:

*编写一个使用while循环的程序,以25为增量显示0到200之间的整数,所有这些都在一行上用一个空格分隔。然后使用for循环和范围运算符以降序显示相同的整数。参见示例输出。

示例输出

0 25 50 75 100 125 150 175 200

200 175 150 125 100 75 50 25 0 *

到目前为止,这是我的代码:

for number in range(0,225,25):
    print(format(number),end=' ')
for number in range (200,-25,-25):
    print(format(number),end=' ')

我需要在新行中添加第二行数字,200到0。我尝试在最后添加一个逗号,\ n属性,什么也没有。我收到错误。有什么建议吗?

3 个答案:

答案 0 :(得分:1)

您可以使用列表推导表达式和.join()来完成任务:

>>> print(' '.join([str(number) for number in range(200, -25, -25)]))
200 175 150 125 100 75 50 25 0
>>> 

解释

在我们运行的最里面的表达式之后 - 列表理解,创建了从25到200的数字列表。我们使用str()将每个转换为字符串

>>> [str(number) for number in range(200, -25, -25)]
['200', '175', '150', '125', '100', '75', '50', '25', '0']
>>> 

然后我们使用' '.join()将字符串列表连接成一个字符串,用空格分隔。

>>> ' '.join([str(number) for number in range(200, -25, -25)])
'200 175 150 125 100 75 50 25 0'
>>> 

最后,整个表达式的结果传递给print(),显示字符串

>>> print(' '.join([str(number) for number in range(200, -25, -25)]))
200 175 150 125 100 75 50 25 0
>>> 

答案 1 :(得分:1)

您的问题是由您end=' '拨打的print()引起的。这将使用空格替换每行末尾的正常换行符。这对你有好处,因为它会在你打印的每个数字后面加上空格。但最后,您需要使用默认(换行符)行结束标记进行常规打印:

for ...
    ...
print()  # Just this.

答案 2 :(得分:0)

按照赋值的严格措辞,你的while循环可能如下所示:

i=-25
while i<200:
 i+=25
 print("%i "%i,end='')
print("\n")

你的for循环可能如下所示:

for i in range(200,-25,-25):
 print("%i "%i,end='')