新足迹

 找回密码
 注册

精华好帖回顾

· 在不能出门的日子,我也来写温泉酒店吧…… (2020-3-16) joaquin · 乱游胡走 - N年前游瑞士~~ (2011-1-13) 征途归来
· 迟来的跳槽 - 全文完 (2011-6-6) lesli1109 · 【大家一起来过年】—— 忙 · 年 (1楼有麻叶图解,4楼有扣碗做法) (2012-1-23) amon54
Advertisement
Advertisement
查看: 2486|回复: 13

python入门请教小白问题 [复制链接]

发表于 2022-4-28 22:55 |显示全部楼层
此文章由 kc920 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kc920 所有!转贴必须注明作者、出处和本声明,并保持内容完整
刚开始学习python。
想用def 来做一个sum的函数

我自己写的运行不对,请大神指点一下

def listsum():
    listsum = 0
    for number in myList:
        listsum = listsum + number
        
myList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

listsum()
Advertisement
Advertisement

发表于 2022-4-28 23:10 |显示全部楼层
此文章由 间风 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 间风 所有!转贴必须注明作者、出处和本声明,并保持内容完整
  1. def listsum():
  2.     listsum = 0
  3.     myList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  4.     for number in myList:
  5.         listsum = listsum + number
  6.     print(listsum)


  7. if __name__ == '__main__':
  8.     listsum()
复制代码

评分

参与人数 1积分 +2 收起 理由
kc920 + 2 感谢感谢!

查看全部评分

发表于 2022-4-28 23:13 |显示全部楼层
此文章由 间风 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 间风 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 间风 于 2022-4-28 23:16 编辑
  1. def listsum():
  2.     listsum = 0
  3.     for number in myList:
  4.         listsum = listsum + number
  5.         
  6. myList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  # 需要移动到调用之前

  7. listsum()
复制代码


在你的代码里
1. myList需要在使用之前定义,所以需要移动到for loop 上面
2. 在listsum()函数里面我是直接打印出来,当然你可以返回值


https://www.jetbrains.com/pycharm/download/
推荐pycharm Community,免费

评分

参与人数 2积分 +4 收起 理由
kc920 + 2 感谢分享
APSTNDP + 2

查看全部评分

发表于 2022-4-28 23:18 |显示全部楼层
此文章由 APSTNDP 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 APSTNDP 所有!转贴必须注明作者、出处和本声明,并保持内容完整
感谢楼上分享

发表于 2022-4-28 23:30 |显示全部楼层
此文章由 kc920 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kc920 所有!转贴必须注明作者、出处和本声明,并保持内容完整

太感谢了,再请问个问题
为什么后面call function之前要加上 if __name__ == '__main__':
如果不加这个好像就不会出结果

发表于 2022-4-28 23:46 |显示全部楼层
此文章由 间风 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 间风 所有!转贴必须注明作者、出处和本声明,并保持内容完整
kc920 发表于 2022-4-28 23:30
太感谢了,再请问个问题
为什么后面call function之前要加上 if __name__ == '__main__':
如果不加这个 ...

简单来说就是程序的入口
和void main() 是类似的

https://stackoverflow.com/questions/419163/what-does-if-name-main-do
Advertisement
Advertisement

发表于 2022-4-29 10:14 |显示全部楼层
此文章由 xjcs88 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 xjcs88 所有!转贴必须注明作者、出处和本声明,并保持内容完整
listsum函数要有一个参数,比如你写的myList,不过叫啥名字都行,只是一个形式参数;

然后函数有一个返回值,因为你希望它算出总和嘛,所以就要return 那个你算出来的listsum。

另外如果你只是在练习基本语法啥的,__main__可以暂时不用纠结,用IDE或者online 环境写python都可以。

评分

参与人数 1积分 +2 收起 理由
kc920 + 2 感谢!

查看全部评分

十四,记得给我写信啊。

发表于 2022-4-29 10:20 |显示全部楼层
此文章由 Luckybamboo 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Luckybamboo 所有!转贴必须注明作者、出处和本声明,并保持内容完整
学习了 感谢

发表于 2022-4-29 15:23 |显示全部楼层
此文章由 jackdi 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jackdi 所有!转贴必须注明作者、出处和本声明,并保持内容完整
足迹还有这功能

发表于 2022-4-29 15:49 |显示全部楼层
此文章由 APSTNDP 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 APSTNDP 所有!转贴必须注明作者、出处和本声明,并保持内容完整
jackdi 发表于 2022-4-29 15:23
足迹还有这功能

要不怎么说“万能的足迹”呢。。。

发表于 2022-4-29 15:50 |显示全部楼层
此文章由 墨尔本中同 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 墨尔本中同 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这么多大佬
Advertisement
Advertisement

发表于 2022-4-29 17:01 |显示全部楼层
此文章由 fengliu1234 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 fengliu1234 所有!转贴必须注明作者、出处和本声明,并保持内容完整
关注

发表于 2022-5-1 21:08 |显示全部楼层
此文章由 lunatic_C_G 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 lunatic_C_G 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 lunatic_C_G 于 2022-5-10 23:57 编辑

封装下,做下异常处理
  1. def sumOfList(src_list=[]):
  2.     if type(src_list)!= list:
  3.         raise Exception(str.format('arg type exception expected:src_list demand list-like type but {0} expected',type(src_list)))
  4.         
  5.     result = 0
  6.     for number in src_list:
  7.         result = result + number
  8.     return result

  9. if __name__ == '__main__':
  10.     myList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  11.     print(sumOfList(myList));
  12.     print(sumOfList())
  13.     print(sumOfList(0))
复制代码


环境spyder 或者 vscode 都可以,
笑看垄断资本党国的虚拟散户自嗨
头像被屏蔽

禁止访问

发表于 2022-5-28 23:16 |显示全部楼层
此文章由 starlink_au 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 starlink_au 所有!转贴必须注明作者、出处和本声明,并保持内容完整
加一行return值就完事儿了。

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部