python定义函数

完成接受单个字符串参数文本的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)}")