好的所以我上课时有这个功课,这里是规范:
*编写一个使用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属性,什么也没有。我收到错误。有什么建议吗?
答案 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='')