📅  最后修改于: 2023-12-03 14:50:47.510000             🧑  作者: Mango
本文介绍了国际空间研究组织(ISRO)的2021年参加的一道编程题目ISRO CS 2016的第30个问题。该问题是一个简单的字符串操作题目,要求开发一个程序,可以将一个字符串按照指定的规则进行重新排列。
给定一个字符串S,将其按照以下方式重新排列:
例如,给定字符串S="Sorting1234", 调用你的程序应该返回新的字符串 "ginortS1324"。
该问题可以直接按照题目描述进行程序设计,分别处理小写字母、大写字母、奇数数字和偶数数字,并按照顺序合并。程序设计示例如下:
def sort_string(s: str) -> str:
lower_case = []
upper_case = []
odd_numbers = []
even_numbers = []
for c in s:
if c.islower():
lower_case.append(c)
elif c.isupper():
upper_case.append(c)
elif c.isdigit():
if int(c) % 2 == 0:
even_numbers.append(c)
else:
odd_numbers.append(c)
lower_case.sort()
upper_case.sort()
return "".join(lower_case + upper_case + odd_numbers + even_numbers)
本文介绍了国际空间研究组织(ISRO)的2016年编程题目ISRO CS 2016的第30个问题。该问题是一个简单的字符串操作题目,要求开发一个程序,可以将一个字符串按照指定的规则进行重新排列。本文给出了一个基于Python的解题示例。