Python循环问题:绘制XY轴图形输出顺序错误求助
Python XY轴图形绘制代码修复
问题描述
我是Python初学者,需要编写一段绘制XY轴图形的代码,但当前代码输出顺序错误,无法得到预期效果。
错误代码
dimx = int(input('lengte van de x-as: ')) dimy = int(input('lengte van de y-as: ')) b = int(input('b: ')) print("^") for x in range(dimy): print("|") if x == b+1: for x in range(dimx): print("-",end="") print("+"+"-"*dimx + ">")
错误输出
^ | | | | | | ------------------------------| | | | +------------------------------->
期望输出
^ | | | | | | |------------------------------ | | | +------------------------------->
修复方案
问题出在print("|")会自动添加换行符,导致横线打印在了下一行,而目标行需要|后面直接跟随横线。调整代码的打印逻辑,让|和横线在同一行输出:
dimx = int(input('lengte van de x-as: ')) dimy = int(input('lengte van de y-as: ')) b = int(input('b: ')) print("^") for x in range(dimy): # 先打印|,不自动换行 print("|", end="") # 如果是目标行,打印横线后换行 if x == b+1: print("-" * dimx) # 非目标行直接换行 else: print() print("+" + "-"*dimx + ">")
代码说明
- 将
print("|")改为print("|", end=""),取消自动换行,让后续的横线能跟在|后面。 - 目标行判断成立时,打印完横线后直接换行;非目标行仅执行换行操作,保证每行只有一个
|。
内容的提问来源于stack exchange,提问作者FieldyScop
相关产品推荐
相关产品推荐

