迷墨 发表于 2017-12-21 19:37:43

python 定义函数 循环

def summm(num1):
    title=0
    for ggy in range(num1):
      title=title+ggy
      if ggy==num1:
            print(title)
summm(20)







运行结果      Process finished with exit code 0




麻烦各位大佬给看看,哪里出问题了

newu 发表于 2017-12-21 19:41:19

range(20)等同于从0-19
改为if ggy==num1-1:

°蓝鲤歌蓝 发表于 2017-12-21 19:48:14

没有问题,程序正常执行完了,只是没有东西可以打印而已。

迷墨 发表于 2017-12-21 20:08:43

def summm(num1):
    title=0
    for ggy in range(num1):
      title=title+ggy
      if ggy==num1:
            print(title)
print(summm(20))





运行结果: None

Process finished with exit code 0


麻烦大佬们再帮看看

迷墨 发表于 2017-12-21 20:13:29

°蓝鲤歌蓝 发表于 2017-12-21 19:48
没有问题,程序正常执行完了,只是没有东西可以打印而已。

大佬再帮我看看呗
用print()还是有问题

°蓝鲤歌蓝 发表于 2017-12-21 20:16:04

迷墨 发表于 2017-12-21 20:13
大佬再帮我看看呗
用print()还是有问题

因为 ggy == num1 不可能为 True。
range(num1) 是从 0 开始,到 num1 - 1(共 num1 个数字),是不包括 num1 的。

迷墨 发表于 2017-12-21 21:17:40

°蓝鲤歌蓝 发表于 2017-12-21 20:16
因为 ggy == num1 不可能为 True。
range(num1) 是从 0 开始,到 num1 - 1(共 num1 个数字),是不包括 n ...

改正后
运行结果
1225
None
为什么会有none ,怎么样可以去掉呢

迷墨 发表于 2017-12-21 21:19:14

°蓝鲤歌蓝 发表于 2017-12-21 20:16
因为 ggy == num1 不可能为 True。
range(num1) 是从 0 开始,到 num1 - 1(共 num1 个数字),是不包括 n ...

输入的是50,结果没问题,只想问none的问题

°蓝鲤歌蓝 发表于 2017-12-21 21:32:13

迷墨 发表于 2017-12-21 21:19
输入的是50,结果没问题,只想问none的问题

因为你的 print(summm(50)) 是一个对象,不是一个数。

迷墨 发表于 2017-12-22 08:34:00

°蓝鲤歌蓝 发表于 2017-12-21 21:32
因为你的 print(summm(50)) 是一个对象,不是一个数。

哦哦,明白了,print()的返回值
页: [1]
查看完整版本: python 定义函数 循环