我这段代码有什么问题?为什么不输出值呢

img


我想求 11 + 22 + 33 + ... + 100100的值,但是输出不了

print应该放到return上面

你函数没有被调用

你在函数中return了,下面的语句不会执行了。
解决方法:把print函数放在函数外面,用一个数组去接收 函数返回值,在print(ps 你这个函数def l(n),这个n是不是可以去掉,下面你又重新赋值)

1.你的函数l只有声明没有调用
2.你在for循环里return了


def my_list(n):
    l2 = []
    # range() 返回的范围,不包括 n
    for i in range(n):
        l2.append(int(str(i)  + str(i)))
    return l2

# 这里调用 my_list 时,传的参数是 101
print(sum(my_list(101)))

求平方和:

def squaresum(n):
    res = 0
    for i in range(1,n+1):
        res += i*i
    return res

print(squaresum(100))  #338350

你这代码本身就存在问题 我用的python3.8 版本 vscode 工具 照着你这个敲了一边 代码本身报错

def sum():
    total = 0
    for i in range(1,100):
        num = i * 10 + i
        print("num:",num)   
        total = total + num
    print("求和",total)   

## 方法调用
sum()



函数内执行到return语句就会结束,应该把print语句放在return语句之前