我正在尝试创建一个函数,它将读取两个字符串的前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)
我不确定我在做错了什么。任何替代方案?
答案 0 :(得分:2)
当你到达第三个字符(m
和s
)时,它们不相等,所以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