我坚持以下实验室练习:
我们需要的第一部分是一个例程,给定一个单词,它会以某种方式打乱除第一个和最后一个字符之外的所有字符的顺序。我们将颠倒字母的顺序,而不是只是随机移动字符。下面的代码实现了这一点:
def jumble(x): return x[len(x)::-1] my_string="Alistair" print(" Reverse ",jumble(my_string))
将上面的代码复制到一个文件并运行它。目前它颠倒了“my_string”中所有字符的顺序。修改代码,使单词的第一个和最后一个字母不颠倒。也就是说,不是生产
"riatsilA"
它而是生产"Aiatsilr"
.
这是我上面部分的代码:
def jumble(x):
temp0=x[0]
temp_last=x[-1]
x_new=temp0 + x[-2:0:-1] + temp_last
return x_new
my_string="Alistair"
print(" Reverse ",jumble(my_string))
上述例程不考虑前导或尾随空格、标点符号或其他可能合法地成为字符串一部分的字符,但不应混淆。例如,如果字符串是
" Alistair, "
结果,则应" riatsilA, ".
修改您的例程,以便仅反转第一个连续的字母字符系列(减去第一个和最后一个字符)。确保最终返回的字符串包含所有其他前导和尾随字符。
我不知道该怎么做,因为空格和标点符号可以在任何地方发生,我正在考虑有两个列表,一个用于空格和标点符号,而另一个用于“连续的字母字符系列”,使用 append 方法附加元素到每个列表,但不确定如何保存索引。有人可以帮我吗?提前致谢。