如何在Python中同行打印两组三角形以实现并排双菱形效果
实现方案
要实现两个菱形并排展示,只需要调整打印逻辑,不再完整打印完第一个菱形再打印第二个,而是每一行同时生成两个菱形对应行的内容再统一打印即可,修改后代码如下:
diamond = int(input("Diamond size: ")) gap = 2 # 两个菱形之间的间隔空格数,可根据需求调整 # 打印两个菱形的上半部分(尖头朝上的三角形) for i in range(diamond): # 生成当前行第一个菱形的内容 line_part = " " * (diamond - i) + "*" * (2 * i + 1) # 拼接间隔和第二个菱形的同高度内容 full_line = line_part + " " * gap + line_part print(full_line) # 打印两个菱形的下半部分(尖头朝下的三角形) for i in range(diamond): line_part = " " * (i + 1) + "*" * (2 * (diamond - i) - 1) full_line = line_part + " " * gap + line_part print(full_line)
修改说明
- 保留了你原有绘制单个菱形的核心逻辑,只是将多层循环打印的方式简化为字符串乘法拼接,运行效果和原有逻辑完全一致,可读性更高
- 新增的
gap变量用于控制两个菱形的横向间距,调整数值即可修改间隔大小 - 每一行先拼接单个菱形对应高度的内容,再拼接间隔和第二个菱形的同高度内容,整行打印后自然形成并排效果
内容的提问来源于stack exchange,提问作者Nebula
相关产品推荐
相关产品推荐

