-2

I have tried this solution. But I am not receiving any output. Can someone please point out my error.

def num_case(str):
    z=0
    j=0
    for i in str:
        if i.isupper():
            z=z+1
            return z
        elif i.islower():
            j=j+1
            return j
        else:
            pass
    
    
    
    print('upper case:', z)
    print('lowercase:', j)
    
num_case('The quick Brow Fox')

3 Answers3

0

You are returning your function inside your loop. So once if finds a uppercase or lowercase it will directly return from the function. Just remove the return lines.

Ashin Shakya
  • 690
  • 6
  • 9
0

You should not put return statements inside the loop. The num_case function should look like this:

def num_case(str):                                   
    z = 0                                            
    j = 0                                            
    for i in str:                                    
        if i.isupper():                              
            z = z + 1                                
        elif i.islower():                            
            j = j + 1                                                                   
                                                 
    return (z, j)                                    
                                                 
                                                 
uppercase, lowercase = num_case('The quick Brow Fox')
                                                 
print("upper case:", uppercase)                      
print("lowercase:", lowercase)                       
NShiny
  • 1,046
  • 1
  • 10
  • 19
0
  • Don't use builtin names like str.

  • instead of returning the value inside the loop return or print after the loop.

  • No need to add else if you are just going to pass

  • try to use understandable variable names while writing the code.

def num_case(str_val):
    upper_count = 0
    lower_count = 0
    for val in str_val:
        if val.isupper():
            upper_count += 1
        elif val.islower():
            lower_count += 1

    print('upper case:', upper_count)
    print('lowercase:', lower_count)


num_case('The quick Brow Fox')
Usman Arshad
  • 537
  • 11