Python如何实现字符内容90度翻转?附输入输出示例与问题代码
字符内容顺时针翻转90度实现方案
原有代码问题
你的代码存在3个核心错误,导致无法得到预期结果:
- 直接将文件名
text.txt作为变量赋值,没有实际读取文件内的文本内容 - 循环过程中反复覆盖变量
t,最终仅保留最后一组遍历结果 - 没有对转置后的字符做空格拼接,也没有逐行输出结果
正确实现代码
# 读取text.txt内容,过滤空行、移除每行末尾的换行符 with open('text.txt', 'r', encoding='utf-8') as f: content_lines = [line.rstrip('\n') for line in f if line.strip()] # 顺时针翻转90度逻辑:列转置 → 每列倒序 → 字符间加空格逐行打印 for column in zip(*content_lines): print(' '.join(reversed(column)))
逻辑说明
顺时针翻转90度的处理逻辑和预期输出完全匹配:
- 原始输入共2行,每行6个字符,转置后会生成6组列数据,对应输出的6行
- 每组列数据反转顺序后,用空格拼接即可得到目标格式:
- 第一列原始值
('=', '+')反转后为('+', '='),拼接为+ = - 第二列原始值
('=', '+')反转后为('+', '='),拼接为+ = - 第三列原始值
('+', '=')反转后为('=', '+'),拼接为= + - 第四列原始值
('=', '+')反转后为('+', '='),拼接为+ = - 第五列原始值
('+', '=')反转后为('=', '+'),拼接为= + - 第六列原始值
('+', '=')反转后为('=', '+'),拼接为= +
- 第一列原始值
内容的提问来源于stack exchange,提问作者Mr.CXer
相关产品推荐
相关产品推荐

