# s = 'Llixfaeu miksc Ismhcozrcte,k sycoauv unaeqewdx ppuyatohcodns.m'
s = 'In ulbosvlea opayjtchsohnb'
i = 1
list_s = list(s)
for char in list_s:
if i % 2 != 0 and i < len(s):
list_s[i] = ''
i += 1
blank = 0 # 空格
var = 0 # 字母
sign = 0 # 字符
res = ''.join(list_s)
for j in list(res):
if j == ' ':
blank += 1
elif j.isalpha():
var += 1
else:
sign += 1
print("破解字符串:", res)
print("空格数量:", blank)
print("字母数量:", var)
print("字符数量:", sign)
s = input()
v = s[0::2] # 还原后的字符串
str_count = 0
sp_count = 0
si_count = 0
for i in v:
if i == ' ':
sp_count+=1
elif i.isalpha():
str_count+=1
else:
si_count+=1
print(str_count,sp_count,si_count)
Life is short, you need python.
其实就是将加密字符串中下标(从1开始)为偶数的字符替换为空字符即可。
另外,你给出的第一个加密字符串为‘In ulbosvlea opayjtchsohnb’
参考代码如下:
def to_decode(encode_str):
encode_list = list(encode_str)
n = len(encode_list)
for i in range(n):
if (i+1)%2 == 0:
encode_list[i] = ''
return ''.join(encode_list)
encode_str = 'Llixfaeu miksc Ismhcozrcte,k sycoauv unaeqewdx ppuyatohcodns.m'
decode_str = to_decode(encode_str)
print(decode_str)
num_1 = 0
num_2 = 0
for c in decode_str:
if c.isalpha():
# 判断字符是否为字母
num_1 += 1
if c.isspace():
# 判断字符是否为空白字符
num_2 += 1
print('字母个数:',num_1)
print('空格个数:',num_2)
print('字符个数:',len(decode_str))
'''
Life is short, you need python.
字母个数: 24
空格个数: 5
字符个数: 31
'''
确定是字符数量,如果是字符数量,的确是31