python输出去空格_python输出不换行,不输出空格

今天中午有个朋友问我三个python程序,中午也没什么事,就帮他看看,随便瞥了下题目,觉得不难,题目是这样的:

1 删除一个list

[1,2,3,-3,6,-1,-3,1]中的所有负数,用以下程序实现,两个负数在一起时,会出现错误,原因在于remove移除一个list中的数之后会将后面的数前移,以至于for循环时会遗漏某些数,要求改写程序,程序是这样的:

def remove_negs(num_list):

"Remove the

negative numbers from num list."

for item in

num_list:

if item < 0:

num_list.remove(item)

for item in

num_list:

print (item, end=" ")

remove_negs([1,2,3,-3,6,-1,-3,1])

2 输出以下形状的三角形

T

TT

TTT

TTTT

TTTTT

TTTTTT

TTTTTTT

3 输出以下形状的三角形

T

TT

TTT

TTTT

TTTTT

TTTTTT

TTTTTTT

乍看这是三个题,都不怎么难,可是因为对于python不怎么熟悉(只是用过),却也是花了些心思的。

第一道题,我想了想不能由于remove函数的特性不能用键值来遍历,删除,那就只好用索引值来遍历、删除,解决方案如下:

def remove_negs(num_list):

"Remove the

negative numbers from num list."

i = 0

while i

< len(num_list):

if num_list[i] < 0:

num_list.remove(num_list[i])

else:

i = i + 1

for item in

num_list:

print (item, end=" ")

remove_negs([1,2,3,-3,6,-1,-3,1])

自认为这种解决方案是很简单,有很好的。

第二道题,第三道题我很快写出了代码:

def Output():

for i in

range(1, 8):

j = 1;

while j <= i:

print("T", end="")

j = j + 1

print("")

Output()

#第八道题

def Output():

for i in

range(1, 8):

j = 1;

while j <= 7 - i:

print(" ", end="")

j = j + 1

j = i

while j > 0:

print("T", end="")

j = j - 1

print("")

Output()

可是在朋友的机子上运行的时候出错,报的错误是不识别end。中午在做这两道题的时候,我就上网查了print函数,print函数一般默认输出之后会自动加上换行,要想不换行,在python2.x中是print

"hello",(即在输出的最后加一个逗号)在python3.x中是print("helllo",

end="")(以end来指明以什么结尾)。所以我很快用逗号来代替end,可是输出结果是,逗号虽然能使得它不换行,可是,它又会默认输出一个空格,结果又不如人意,最后在网上百度找到了答案,解决了问题:

#第七道题

import sys

def Output():

for i in

range(1, 8):

j = 1;

while j <= i:

sys.stdout.write("T")

j = j + 1

print("")

Output()

#第八道题

import sys

def Output():

for i in

range(1, 8):

j = 1;

while j <= 7 - i:

sys.stdout.write(" ")

j = j + 1

j = i

while j > 0:

sys.stdout.write("T")

j = j - 1

print("")

Output()

问题解决之后,边真觉得蛮有成就感的,我这个不怎么学过python的人,python程序却一直是会写一些的,这也是因为我觉得语言是一通百通的。其实,除了成就感,我最大的感触是,第一,无论是遇到什么问题,都要自己动手,想尽各种办法,在网上找资料去解决,最终会收获很多。第二,就是网上的这些资源,让人真心觉得是很头痛,大家都是抄来抄去,对于一个问题,答案都是一样的,可是没有一个是真正解决问题的,真是越看越让人生气。同时也让我想起来文本相似性检测的一个应用,网上的资源千篇一律,相似的很多,怎样过滤一些相同的内容,让用户更快捷的找出自己所需要的内容,今天的经历告诉我未来或许这真的是很有必要去做的一件事。

你可能感兴趣的:(python输出去空格)