小练习:
将字符串s = “abc"中的"b"替换成"1”。
方法1:
s = "abc"
letter_list = list(s)
letter_list[1] = "1"
print("".join(letter_list))
方法2:
s = "abc"
s = s.replace("b","1")
print(s)
方法3:
s = "abc"
s = s.split("b")
print("1".join(s))
方法4:字符串拼接
s = "abc"
print(s[0]+"1"+s[-1])
方法5:正则表达式
import re
s = "abc"
print(re.sub(r'b','1',s))
练习1:
将"gloryroad"按照如下规则进行加密:
字母对应的asscii码值进行加密,并且在码值前面加上码值长度,如g对应的码值为ord(“g”)=103,则字母g加密结果为3103,3是asscci的长度。
"gloryroad"正确输出加密结果为:
“31033108311131143121311431112973100”
def encode_str(s):
encoded_str = ""
for i in s:
encoded_str+=str(len(str(ord(i))))+str(ord(i))
return encoded_str
print(encode_str("gloryroad"))
练习2:
将上题中的加密字符串进行解密
方法1:用while循环,观察加密后的规律,想办法遍历所有的内容
def decode_str(s):
index = 0 #每个字母的asscci码的长度
decoded_str = ""
while index < len(s):
decoded_str += chr(int(s[(index+1):(index+int(s[index])+1)]))
index = index+int(s[index])+1
return decoded_str
print(decode_str("31033108311131143121311431112973100"
))
方法2:递归实现
decrypt_result = ""
def <