Skip to main content
 首页 » 编程设计

python3函数正确性

2025年05月04日18zhengyun_ustc

我有以下功能:

def f(s1,s2): 
         s='' 
         for i in range(min(len(s1),len(s2))): 
            s = s1[i] + s2[i] 
         if len(s1) < len(s2): return s + s2[len(s1):]    
         else: return s + s1[len(s2):] 
print(f('1234','abc')) 

此函数应该将两个字符串一起打印为 1a2b3c4,但我在运行它时只得到后半部分 3c4。关于为什么会发生这种情况的任何想法?谢谢!

请您参考如下方法:

因为你正在以艰难的方式做到这一点。

s = ''.join((x + y) for (x, y) in zip(s1, s2))