在调试代码之前,我想知道为什么调用函数时会出错?它说“NameError:名称'stDigs'未定义”。我试过使用“avgUntilLetter(0123a)”和“avgUntilLetter(“0123a”)”,但它们都不起作用。请帮帮我!
该函数接收一个包含数字或字母的字符串作为输入。该函数应返回一个浮点数,其中包含考虑字符串中从第一个位置开始的所有数字计算的平均值,并考虑所有数字,直到找到一个字母或直到到达字符串的末尾。
一个例子:avgUntilLetter('0123a456') 应该返回 1.5
def avgUntilLetter (stDigs):
num = 0
each_char = stDigs[num]
while each_char.isdigit() == True and num < len(stDigs):
num = num + 1
each_char = stDigs[num]
digits = stDigs[0:num]
avg = sum(digits)/len(digits)
return avg
avgUntilLetter(stDigs)
是的,我知道有很多错误需要解决。我只需要一次解决一个。当我使用“avgUntilLetter(“0123a”)”调用该函数时,定义的错误消失了,但弹出了一个类型错误。嗯..我还在继续尝试。