编码新手,如果问题太简单了,抱歉。
我正在尝试统计某个字符串范围内某个字符出现多少次。我想稍后使用该记号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 + 5
? print(a)
不打印7,或其他任何内容。
答案 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)