String 将两个字符串组合成一个新字符串
我正试图编写一个程序,要求用户输入两个字符串,并通过合并这两个字符串来创建一个新字符串(每次从每个字符串中提取一个字母)。我不允许使用切片。如果用户输入abcdef和xyzw,则程序应生成字符串:axbyczdwefString 将两个字符串组合成一个新字符串,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]
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]
iflen(s1)>i
并且只打印循环中的s2[i]
iflen(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
,那是没有用过的,谢谢你帮我弄到这个。:)