Python实现按字母顺序排序连字符分隔的颜色序列
Python 连字符分隔颜色序列排序实现
原代码问题梳理
你当前编写的代码存在以下不符合需求的问题:
- 字符串分割逻辑错误:
split()默认按空格分割,需求是按连字符-分割输入字符串 - 多余的大小写转换:约束明确说明输入的所有颜色要么全小写要么全大写,不需要额外统一转小写,避免破坏原输入的大小写格式
- 输出格式不符合要求:当前是逐行打印单个颜色,需要将排序后的列表重新拼接为连字符分隔的字符串输出
正确实现代码
def sort_colors(color_str): # 按连字符分割字符串为颜色列表 color_list = color_str.split('-') # 按字母顺序排序 color_list.sort() # 重新拼接为连字符分隔的字符串返回 return '-'.join(color_list) # 测试调用 if __name__ == "__main__": input_str = input("Enter a string: ") sorted_str = sort_colors(input_str) print(sorted_str)
运行验证
输入示例:green-red-yellow-black-white
输出结果:black-green-red-white-yellow,完全符合示例要求。如果输入为全大写的颜色序列,排序后会保留原大写格式,满足约束要求。
内容的提问来源于stack exchange,提问作者Shreyash Kashid
相关产品推荐
相关产品推荐

