非洲的小白脸 发表于 2020-12-15 10:37:33

课后习题运行不成功

def count(*par):
    length = len(par)
    for i in range(length):
      letters = 0
      sapce   = 0
      digit   = 0
      others= 0
      for each in par:
            if each.isalpha():
                letters += 1
            elif each.isdigit():
                digit   += 1
            elif each == ' ':
                space   += 1
            else:
                others+= 1
      print('第 %d 个字符串有:英文字母 %d 个,阿拉伯数字 %d 个,空格 %d 个,其余字符%d 个。' % (i+1,letters,digit,space,others))


count('I love fishc.com.','I love you , you love me.')

他说space += 1 那里 local variable 'space' referenced before assignment ,赋值前引用了局部变量'space'

jackz007 发表于 2020-12-15 10:48:09

      还真是这样,赋值的时候,你把 space 写错了。
      sapce   = 0

hrp 发表于 2020-12-15 10:50:25

sapce   = 0
space   += 1
两个词不一样,前面那个拼错了

非洲的小白脸 发表于 2020-12-15 10:52:17

jackz007 发表于 2020-12-15 10:48
还真是这样,赋值的时候,你把 space 写错了。
      sapce   = 0

谢谢,我太粗心了

非洲的小白脸 发表于 2020-12-15 10:52:49

非洲的小白脸 发表于 2020-12-15 10:52
谢谢,我太粗心了

谢谢啦,是我粗心的问题
页: [1]
查看完整版本: 课后习题运行不成功