Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 将两个字符串组合成一个新字符串_String_Python 3.x - Fatal编程技术网

String 将两个字符串组合成一个新字符串

String 将两个字符串组合成一个新字符串,string,python-3.x,String,Python 3.x,我正试图编写一个程序,要求用户输入两个字符串,并通过合并这两个字符串来创建一个新字符串(每次从每个字符串中提取一个字母)。我不允许使用切片。如果用户输入abcdef和xyzw,则程序应生成字符串:axbyczdwef s1 = input("Enter a string: ") s2 = input("Enter a string: ") i = 0 print("The new string is: ",end='') while i < len(s1): print(s1[i]

我正试图编写一个程序,要求用户输入两个字符串,并通过合并这两个字符串来创建一个新字符串(每次从每个字符串中提取一个字母)。我不允许使用切片。如果用户输入abcdef和xyzw,则程序应生成字符串:axbyczdwef

s1 = input("Enter a string: ")
s2 = input("Enter a string: ")
i = 0
print("The new string is: ",end='')
while i < len(s1):
    print(s1[i] + s2[i],end='')
    i += 1
s1=输入(“输入字符串:”)
s2=输入(“输入字符串:”)
i=0
打印(“新字符串为:”,结束=“”)
而i

我遇到的问题是,如果其中一个字符串比另一个字符串长,则会出现索引错误

您需要在i,然后确保打印出字符串的剩余部分


而我
然后只打印
s1[i]
if
len(s1)>i
并且只打印循环中的
s2[i]
if
len(s2)>i

我认为Python3的itertools中最长的zip\u为您提供了最优雅的答案:

import itertools

s1 = input("Enter a string: ")
s2 = input("Enter a string: ")

print("The new string is: {}".format(
      ''.join(i+j for i,j in itertools.zip_longest(s1, s2, fillvalue=''))))

肯定是比我的答案更好的答案,不过可能与作业的教育目标不太相符。Danke Daniel!:)哎呀,我留下了她原来的
I
,那是没有用过的,谢谢你帮我弄到这个。:)