完成接受单个字符串参数文本的scramble_text()函数。该函数返回一个由文本中的字符按打乱顺序组成的新字符串——每对字符的位置都被交换了。您可以假设参数文本的长度至少为1。对于奇数长度的字符串,打乱文本中的最后一个字符保持不变。下面显示了被调用函数的一些示例。
输入: text = "I"
print(f"{text} --scramble--> {scramble_text(text)}")
输出: I --scramble--> I
输入: text = "Hello"
print(f"{text} --scramble--> {scramble_text(text)}")
输出:Hello --scramble--> eHllo
输入: text = "superb"
print(f"{text} --scramble--> {scramble_text(text)}")
输出:superb --scramble--> usepbr
def scramble_text(text):
def scramble_text(strs):
import random
tmp_,f = (list(strs[0:-1]), strs[-1]) if len(strs) % 2 == 1 else (list(strs), '')
random.shuffle(tmp_)
return ''.join(tmp_) + f
text = "superb"
print(f"{text} --scramble--> {scramble_text(text)}")
我帮你实现了一版,供你参考。
注意,根据题目要求,是2个字符一组交换,因此不用用 random.shuffle 随机打乱顺序。
def scramble_text(text):
if len(text) <= 1:
return text
i = 0
new_text = ""
while i < len(text) - 1:
new_text += text[i + 1] + text[i]
i += 2
if i == len(text) - 1:
new_text += text[-1]
return new_text
text = input()
print(f"{text} --scramble--> {scramble_text(text)}")