e267: Group Reverse
这篇教学会示范 ZeroJudge UVa 题库“e267: 11192 - Group Reverse”的解题过程。
题目需求
题目会提供一个数字与一串文字,数字表示文字里的字母会“分成几组”,知道分成几组后,将每一组内的字串反转,并组合字串输出,例如“2 abcdef”会拆成两组 ( 三个字母为一组 )“abc def”,反转后变成“cba fed”,组合成“cbafed”输出。
解答
首先将数字与字母字串拆开,用字串的长度除以组数,得到一组内有几个字母,接着使用 for 循环遍历每一组,将每一组的字母反转,最后输出就得到最终的结果。
参考:算术运算子
while True:
try:
n = input().split(' ') # 拆分輸入的文字
group = int(n[0]) # 第一個項目為數字,表示「分成幾組」
text = n[1] # 第二個項目為字串
num = int(len(text)/group) # 使用字串長度除以數字,表示「一組內有幾個字母」
for i in range(group):
output = text[i*num:(i+1)*num][::-1] # 取出每一組的字母,進行反轉
print(output, end='')
print() # 記得換行
except:
break
微信扫码关注
抖音扫码关注