在下面这个统计大小写字母个数的代码中,a,b=0,0这句放在for循环内得到的是错误的结果,为什么放在for循环外得到的结果是对的
x=input('')
for i in x:
a,b=0,0
if i.islower()==True:
a+=1
else:
b+=1
print("{} {}".format(a,b))
结果为
helLO
0 1
在下面这个统计大小写字母个数的代码中,a,b=0,0这句放在for循环内得到的是错误的结果,为什么放在for循环外得到的结果是对的
x=input('')
for i in x:
a,b=0,0
if i.islower()==True:
a+=1
else:
b+=1
print("{} {}".format(a,b))
结果为
helLO
0 1
当将 "a,b=0,0" 放在 for 循环内部时,每次循环都会重新将 a 和 b 赋值为 0,所以计数器的值不会累加,而每次循环的结果只是一个固定的 0。
如果将它放在 for 循环外面,它仅在第一次执行时初始化,因此每次循环的结果都会被累加,从而计数器的值得到了正确的累加。
x=input('')
a,b=0,0
for i in x:
if i.islower()==True:
a+=1
else:
b+=1
print("{} {}".format(a,b))