Python中全局变量的增量

Python中全局变量的增量,python,algorithm,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) ying=('SamSAMAN') 杨=(‘萨萨班’) k=0 j=4 当到达第三个字符(m和s)时,k不相等,因此k不会增加。回到循环时,k仍然小

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

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

当到达第三个字符(
m
s
)时,k不相等,因此
k
不会增加。回到
循环时,
k
仍然小于
j
,因此
if
语句再次运行(与之前的结果相同--
k
不会递增),您将陷入无限循环

写这篇文章的更好方法类似于:

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

你已经使k成为循环变量和匹配计数器。这个问题与全局变量有什么关系?我打算把k作为全局变量。如果我用错了词,请原谅。应该写“有条件不工作”之类的。啊,你说得对。我的逻辑不太正确。谢谢你指出这一点!