用python写水仙花数,四个数用end',`输出,该怎么在保留其他逗号的情况下,去掉最后一个逗号

如题所述

你好,这个问题属于print中的参数问题。其实,你说的这个问题可以用print中的sep参数解决。

end也属于print中的一个参数,它表示的意思是:当print把要打印的内容全部打印出来之后,最后用end中的内容来结尾。

比如说print("a","b",end=",")

这段程序最后返回的结果就是:ab,

所以,想要去掉最后面的",",只需要不输入end参数即可,它会默认为换行符,或者是给end参数赋个空值,两种方法都行。分别举个例子吧:

①print("a","b")

结果:ab

②print("a","b",end="")

在end的引号里什么都不要填

结果:ab

这样就可以得到你想要的结果了

到这里有人就会说了,既然这两种返回的结果都一样,那肯定是选短的呀

其实这两种方法还是有一定的差别的,只是在刚才的情况中没有体现出来而已。

接下来再举例子,这次打印两次:

print("a","b")

print("c","d")

结果:

ab

cd

发现了什么,发现打印了两行。其实如果不输入end参数,它会默认其参数值为一个换行符,第一次print完之后,在结尾会再打印一个换行符,起到的作用也就是在下一次打印的时候从下一行开始打印

print("a","b",end="")

print("c","d",end="")

结果:

abcd

没错,当把end的值换作空的,它就可以不再默认是换行符,而是你定义的空值,所以在第一次print之后,它不会在结尾打印任何的东西,下一次打印也会是从上一次打印的后面直接开始打印

好了,说完end参数,再提一下sep参数,也不用文字说明了,我举两个例子,应该看一下就明白有什么作用了

print("a","b",sep=",")

结果:a,b

(注意哦,这里的a和b之间是有逗号的,之前用end的时候都是没有的,因为end作用在结尾的位置,而sep作用在字符串和字符串之间)

print("Python","厉害","真厉害",sep="!")

结果:Python!厉害!真厉害

什么作用,应该很显然了吧

希望我的解答对你有所帮助!祝你生活愉快!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-11-10

那得看你怎么写的代码了。已经print出去了,是没法去掉了,想法子第四个不是end=','就是了。比如:

#水仙花数
flt = lambda x:x==int(x/100)**3  + int(x%100/10)**3 + (x%10)**3
print(','.join(str(_) for _ in filter(flt ,range(100,1000))))

本回答被网友采纳