Python中全局变量的增量

时间:2014-08-22 05:55:34

标签: python algorithm

我正在尝试创建一个函数,它将读取两个字符串的前4个字符,如果它们相同则递增计数器K.

ying = ('SamSAMAN')
yang = ('sasaban')
k = 0
j = 4
while k<j :
   if [ying[k].lower()] == [yang[k].lower()] :
      k+=1
print (k)

当我运行上面的代码时,它没有显示任何错误,但它也没有打印K的值(根据ying和yang我打算为2)

我不确定我在做错了什么。任何替代方案?

1 个答案:

答案 0 :(得分:2)

当你到达第三个字符(ms)时,它们不相等,所以k不会增加。回到while循环,k仍然小于j,因此if语句再次运行(与之前的结果相同 - k并且#39; t得到增加)你陷入无限循环。

更好的方式来写这个类似于:

j = 4
count = 0
for c1, c2 in zip(ying[:j], yang[:j):
    if c1.lower() == c2.lower():
        count += 1
print count