xiaodaio96333 发表于 2020-5-12 00:01:09

代码写的不好,想问下,最后None怎么去掉

def Narcissus():

    for each in range(100,1000):
      a=each//100
      b=(each-a*100)//10
      c=each-a*100-b*10
      if each == a**3+b**3+c**3:
            print(each,end='\t')
print("100-999之间的水仙花数是:",end='')
print(Narcissus())

xiaodaio96333 发表于 2020-5-12 00:01:44

100-999之间的水仙花数是:153        370        371        407        None

ouyunfu 发表于 2020-5-12 04:24:18

因为函数没有返回值,所以print(Narcissus())返回None,去掉print就好了def Narcissus():
    for each in range(100,1000):
      a=each//100
      b=(each-a*100)//10
      c=each-a*100-b*10
      if each == a**3+b**3+c**3:
            print(each,end='\t')
print("100-999之间的水仙花数是:",end='')
if __name__ == "__main__":
    Narcissus()

Sweet丶 发表于 2020-5-12 07:38:50

函数里最后一行加return ''

Twilight6 发表于 2020-5-12 07:53:31

多加行return就好
def Narcissus():
    for each in range(100,1000):
      a=each//100
      b=(each-a*100)//10
      c=each-a*100-b*10
      if each == a**3+b**3+c**3:
            print(each,end=' ')
    return ''
print("100-999之间的水仙花数是:",end='')
print(Narcissus())
或者这样:
def Narcissus():
    ls = ''
    for each in range(100,1000):
      a=each//100
      b=(each-a*100)//10
      c=each-a*100-b*10
      if each == a**3+b**3+c**3:
            ls += str(each)+' '
    return ls
print("100-999之间的水仙花数是:",end='')
print(Narcissus())
建议这种 因为这种是返回水仙花数的,而第一种函数返回的是空,只是打印了水仙花数

txxcat 发表于 2020-5-12 10:39:39

这个函数本来就不需要返回值,何必画蛇添足加上return?
调用的时候直接调用就行了:

def Narcissus():

    for each in range(100,1000):
      a=each//100
      b=(each-a*100)//10
      c=each-a*100-b*10
      if each == a**3+b**3+c**3:
            print(each,end='\t')
print("100-999之间的水仙花数是:",end='')
Narcissus()

宋恺 发表于 2020-5-12 13:35:53

最后一行把print()函数去掉,如下:
def Narcissus():

    for each in range(100,1000):
      a=each//100
      b=(each-a*100)//10
      c=each-a*100-b*10
      if each == a**3+b**3+c**3:
            print(each,end='\t')
print("100-999之间的水仙花数是:",end='')
Narcissus()


xiaodaio96333 发表于 2020-5-12 17:14:52

ouyunfu 发表于 2020-5-12 04:24
因为函数没有返回值,所以print(Narcissus())返回None,去掉print就好了

3Q

xiaodaio96333 发表于 2020-5-12 17:15:28

感谢各位大佬
页: [1]
查看完整版本: 代码写的不好,想问下,最后None怎么去掉