我正在尝试编写代码,计算一个字符串中有多少个上下字符。这是我的代码。
我一直试图将其转换为字符串,但无法正常工作。
def up_low(string):
result1 = 0
result2 = 0
for x in string:
if x == x.upper():
result1 + 1
elif x == x.lower():
result2 + 1
print('You have ' + str(result1) + ' upper characters and ' +
str(result2) + ' lower characters!')
up_low('Hello Mr. Rogers, how are you this fine Tuesday?')
我希望我的结果能够计算上下两个字符。现在,我收到“您有0个大写字母和0个小写字母!”。
它不是将result1和result2相加。
答案 0 :(得分:1)
问题出在result1 + 1
和result2 + 1
行中。这是一个表达式,但不是一个赋值。换句话说,您增加计数器,然后增加的值将消失。
解决方案是将赋值运算符=
放到某个地方。
答案 1 :(得分:1)
似乎您的错误出在分配中,错了一个'='符号(例如result1 + = 1)
对于字符串中的x: 如果x == x.upper(): result1 + = 1
elif x == x.lower():
result2 +**=** 1