While循环中的Javascript If与Python If语句
我很难将此Javascript代码移植到Python。在Javascript中,函数可以接受两个字符串,例如str1=123456和str2=passwo。然后它将输出类似p1a2s3s4w5o6的内容 在python中,它只是将其组合在一起。有人请告诉我,如果可能的话,如何使用python中的if语句实现这一点。也许我需要换一种方式。谢谢你的帮助 Python示例While循环中的Javascript If与Python If语句,javascript,python,Javascript,Python,我很难将此Javascript代码移植到Python。在Javascript中,函数可以接受两个字符串,例如str1=123456和str2=passwo。然后它将输出类似p1a2s3s4w5o6的内容 在python中,它只是将其组合在一起。有人请告诉我,如果可能的话,如何使用python中的if语句实现这一点。也许我需要换一种方式。谢谢你的帮助 Python示例 def merge(str1, str2): arr1 = str1.split(); arr2 = str2.s
def merge(str1, str2):
arr1 = str1.split();
arr2 = str2.split();
result = "";
index1 = 0;
index2 = 0;
while ((index1 < len(arr1)) or (index2 < len(arr2))):
if(index1 < len(arr1)):
result += arr1[index1];
print("part1")
index1 = index1+1;
if(index2 < len(arr2)):
result += arr2[index2];
index2 = index2+1;
print(result);
return result;
def合并(str1、str2):
arr1=str1.split();
arr2=str2.split();
结果=”;
index1=0;
index2=0;
而((index1
Javascript示例
function merge(str1, str2){
var arr1 = str1.split("");
var arr2 = str2.split("");
var result = "";
var index1 = 0;
var index2 = 0;
while((index1 < arr1.length) || (index2 < arr2.length)){
if(index1 < arr1.length){
result += arr1[index1];
index1++;
}
if(index2 < arr2.length){
result += arr2[index2];
index2++;
}
}
return result;
}
函数合并(str1、str2){
var arr1=str1.split(“”);
var arr2=str2.split(“”);
var结果=”;
var index1=0;
var index2=0;
而((index1
使用:
这张照片是:
p1a2s3s4w5o6
首先,在python中,语句末尾不需要半列。 其次,在python中拆分()字符串时,默认情况下会从空格中拆分它, 所以它是为您创建一个对象列表。所以不需要拆分,因为python字符串已经是数组了 这是您的固定代码(我只是删除拆分并将参数重命名为arr而不是str):
def合并(arr1、arr2):
result=“”
index1=0
index2=0
而((index1
Python3使用list()将字符串直接类型转换到列表中
并删除分号
使用
而不是
arr1 = str1.split();
arr2 = str2.split();
完整代码:
def merge(str1, str2):
arr1 = list(str1)
arr2 = list(str2)
result = ""
index1 = 0
index2 = 0
while ((index1 < len(arr1)) or (index2 < len(arr2))):
if(index1 < len(arr1)):
result += arr1[index1]
print("part1")
index1 = index1+1
if(index2 < len(arr2)):
result += arr2[index2]
index2 = index2+1
print(result)
return result
def合并(str1、str2):
arr1=列表(str1)
arr2=列表(str2)
result=“”
index1=0
index2=0
而((index1
如果两个字符串的长度相同,可以通过列表理解替换整个函数:
result = "".join([f"{str2[ind]}{str1[ind]}" for ind in range(len(str1))])
作为一项功能:
def merge(str1, str2):
return "".join([f"{str2[ind]}{str1[ind]}" for ind in range(len(str1))])
在python中,不需要半列。
str1.split()
返回空格上拆分的str1
子字符串列表,因此在本例中是一个字符串列表,如['abcdef']
。直接迭代str1而不是不需要的arr1。这不一样,这是他的错误。在这里使用zip
,不要循环索引
def merge(str1, str2):
arr1 = list(str1)
arr2 = list(str2)
result = ""
index1 = 0
index2 = 0
while ((index1 < len(arr1)) or (index2 < len(arr2))):
if(index1 < len(arr1)):
result += arr1[index1]
print("part1")
index1 = index1+1
if(index2 < len(arr2)):
result += arr2[index2]
index2 = index2+1
print(result)
return result
result = "".join([f"{str2[ind]}{str1[ind]}" for ind in range(len(str1))])
def merge(str1, str2):
return "".join([f"{str2[ind]}{str1[ind]}" for ind in range(len(str1))])