Python打印正序转倒序平行四边形图案运行出错如何解决
Python平行四边形打印代码问题排查
原代码错误点
- 开头的提示字符串没有调用
print()函数,运行时不会输出到控制台 - 用于组成图案的字符变量
c没有接收用户输入,赋值为空元组属于语法逻辑错误 - 循环逻辑不符合需求:没有拆分正序递增上半段、倒序递减下半段的两个大循环,且循环范围、缩进层级、打印内容全部错误
- 打印语句中将变量
c写死在字符串引号内,无法输出用户输入的指定字符
修正后可运行代码
print("This program will output a parallelogram.") rows = int(input("How long do you want each side to be? ")) c = input("Please enter the character you want it to be made of: ") print("Parallelogram:") # 上半部分:正序递增打印 for i in range(1, rows + 1): print(c * i) # 匹配示例中行间隔空行,不需要可删除下一行 print() # 下半部分:倒序递减打印,逐行增加前置空格 for i in range(rows - 1, 0, -1): # 前置空格数 = 总行数 - 当前行字符数 print(' ' * (rows - i) + c * i) # 匹配示例中行间隔空行,不需要可删除下一行 print()
逻辑说明
- 代码拆分两个外层循环,分别处理正序增长、倒序减少的两段图案
- 下半段每一行前置空格数逐行+1,实现平行四边形的倾斜效果
- 可根据实际输出需求调整行间隔空行的打印逻辑
内容的提问来源于stack exchange,提问作者eric r
相关产品推荐
相关产品推荐

