首页 > 解决方案 > 为什么我的代码返回 0?而不是大写字母和小写字母的数量?

问题描述

我正在尝试编写代码来计算字符串中有多少个大写和小写字符。这是我的代码。

我一直在尝试将其转换为字符串,但无法正常工作。

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 个小写字符!”。

结果 1 和结果 2 不相加。

标签: python-3.7

解决方案


问题出在线路result1 + 1result2 + 1. 这是一个表达式,但不是一个赋值。换句话说,您增加计数器,然后增加的值无处可去。

解决方案是将赋值运算符工作=到某个地方。


推荐阅读