【发布时间】:2017-04-21 15:02:16
【问题描述】:
我需要帮助想出这个 python 函数。 一个递归函数 count_upper_lower(),它接受一个非空字符串作为其参数,并返回一个元组,该元组包含字符串中有多少个大写字母和多少个小写字母的计数(按此顺序)。 比如
print (count_upper_lower(’Town Hall University’))
会回来
(3, 15)
这就是我目前所拥有的
def count_upper_lower(word):
upper = 0
lower = 0
if word == "":
upper = 0
lower = 0
return upper, lower
elif word[0].isupper():
upper = 1 + count_upper_lower(word[1:])
return upper , lower
elif word[0].islower():
lower = 1 + count_upper_lower(word[1:])
return upper , lower
else:
upper = 0 + count_upper_lower(word[1:])
lower = 0 + count_upper_lower(word[1:])
return upper, lower
我收到以下错误:
TypeError: unsupported operand type(s) for +: 'int' and 'tuple'
【问题讨论】:
-
提示:拨打
word=="a"。你认为1 + (0, 0)是什么?
标签: python recursion tuples uppercase lowercase