如何在循环外使用循环中的计数

时间:2019-03-07 16:33:26

标签: python python-3.x count

编码新手,如果问题太简单了,抱歉。

我正在尝试统计某个字符串范围内某个字符出现多少次。我想稍后使用该记号count,并将其添加到其他值和其他计数中。如果我退还它,我似乎无法重用它。如何在循环之外重用计数?

def function(word):
    letters = 'abcdefgh'
    while count < len(word):
       for i in word:
          if i in letters:
              count += 1
        return count
     a = count + 5
     print(a)
print(function('AaB5a'))

count应该为2,但是如何将其添加到其他值中,例如a = count + 5print(a)不打印7,或其他任何内容。

3 个答案:

答案 0 :(得分:2)

就像已经讲过的大多数注释一样,您应该删除返回的结尾,而且似乎不需要while循环(实际上似乎提供了错误的结果)。 请让我知道这是否不是您想要的,我会根据您的输入进行更正,但是它会输出2并按照您在OP中的要求打印7。

def function(word):
    count = 0
    letters = 'abcdefgh'
    for i in word:
        if i in letters:
            count += 1
    a = count + 5
    print(a)
    return count

答案 1 :(得分:0)

首先,您可能不应该使用单词function来命名您的函数。我将您的样本更改为check_letters 您还想在while循环之外创建变量计数,以便保存递增的计数。最后,返回计数。

def check_letters(word):
    letters = 'abcdefgh'
    count = 0
    while count < len(word):
        for i in word:
            if i in letters:
               count += 1
    return count

完成后,您可以调用该函数并传入参数,它将返回一个int,在这种情况下,您想添加5。然后将结果保存到变量

a = check_letters('AaB5a') + 5

print (a)

11

如果打印支票字母,您将获得返回计数到输出。

print (check_letters('AaB5a'))
6

答案 2 :(得分:0)

  

我将count变量设置为零,因为它抛出UnboundLocalError:赋值之前引用了局部变量'count'。该函数将返回传入的字符串的计数。该计数现在由该函数返回。然后,您可以将其分配给变量,然后对该变量进行加,减等。

def function(word):
    letters = 'abcdefgh'
    count=0
    while count < len(word):
        for i in word:
            if i in letters:
                count += 1
    return count

c=function('AaB5a')
a=c + 5
print(a)