跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 请问大家,我这一段为啥报错呀
未分類
5 1 月 2021

请问大家,我这一段为啥报错呀

请问大家,我这一段为啥报错呀

資深大佬 : AzureDeer 3

scores = {‘语文’:89, ‘数学’:95, ‘英语’:80} sum_score = 0

def get_average(scores): for subject, score in scores.items(): sum_score += score print(‘现在的总分是%d’%sum_score) ave_score = sum_score/len(scores) print(‘平均分是%d’%ave_score)

get_average(scores)

大佬有話說 (11)

  • 主 資深大佬 : AzureDeer

    scores = {‘语文’:89, ‘数学’:95, ‘英语’:80}
    sum_score = 0

    def get_average(scores):
    for subject, score in scores.items():
    sum_score += score
    print(‘现在的总分是%d’%sum_score)
    ave_score = sum_score/len(scores)
    print(‘平均分是%d’%ave_score)

    get_average(scores)

  • 資深大佬 : jmc891205

    报的啥错

  • 資深大佬 : cominghome

    原因出在 sum_score 上。
    你不赋值的时候,sum_score 是可以当成全局变量使用的,否则这个值会被当成局部变量使用。
    解决办法有两个:
    1. 在 get_average 内部将 sum_score 声明为全局变量
    “`
    def get_average(scores):
    global sum_score
    …
    “`
    2. 在 get_average 内部声明 sum_score
    “`
    # 删掉
    def get_average(scores):
    sum_score = 0

    “`

  • 資深大佬 : cominghome

    我靠,双击空格直接发出去了。。不过应该已经讲清楚了。。

    变量作用域这一块可以读一下《流畅的 Python 》第七章

  • 資深大佬 : Perry

    请先学会如何提问以及如果通过报错找到错误。

  • 資深大佬 : kikikiabc

    用了全局变量,函数里面要加一个 global sum_score 声明。

  • 資深大佬 : lpts007

    python 工作不多了,go 吧

  • 資深大佬 : XIVN1987

    sum_score 不能用全局变量吧,难道你每次调用 get_average()都要累计之前的分数?
    那你计算平均分的时候只除以本次调用的科目数,,平均分岂不是越来越高、单调递增了~~~^_^~~~

  • 資深大佬 : sxbug01

    用函数返回值啊

  • 資深大佬 : huichao

    def get_average(scores):
    sum_score = 0
    for subject, score in scores.items():
    sum_score += score
    print(‘现在的总分是%d’ % sum_score)
    ave_score = sum_score / len(scores)
    print(‘平均分是%d’ % ave_score)

    get_average(scores)

  • 資深大佬 : tanwill12138

    @AzureDeer 请问大家,我这一段为啥报错呀

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具