URL使用循环进行编码



我试图使用以下函数返回字符串,每个空格替换为%20。但是,它只在每个print语句输出中打印出'%20'。我还试图省略替换字符串中的第一个空格。什么好主意吗?我知道有一个库和一个。replace()方法可以解决这个问题,但我想使用for循环和条件。

def urlEncode(text):
result = ''
for i in text:
if i == ' ':
i = '%20'
result = result + i
return result
print(urlEncode("Lighthouse Labs"))
print(urlEncode(" Lighthouse Labs  "))
print(urlEncode("blue is greener than purple for sure"))

输出是:% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20

嘿,你还需要添加非空格的字符,对吗?请看编辑后的脚本。

def urlEncode(text):
result = ''
for i in text:
if i == ' ':
i = '%20'
result += i
else:
result += i
return result

print(urlEncode("Lighthouse Labs"))
print(urlEncode(" Lighthouse Labs  "))
print(urlEncode("blue is greener than purple for sure"))

编辑,附加答案:-如何省略第一个空格

def urlEncode(text):
result = ''
counter = 0
for i in text:
if(counter == 0 and text[counter] == ' '):
result += i
elif i == ' ':
i = '%20'
result += i
else:
result += i
counter += 1
return result

最新更新