无法打印指定递减数字序列图案,求Python代码修改方法
需求说明
需要打印的数字倒三角图案如下(以4行为例):
1 2 3 4 1 2 3 1 2 1
现有代码问题分析
你当前编写的代码如下:
x = int(input("Enter number of row:\n")) for i in range(1,x+1): for j in range(1,x+1): print(j,end=" ") print()
问题出在内层循环的结束值固定为x+1,导致每行都会打印完整的x个数字,无法实现逐行减少的效果。
修正方案
只需要调整内层循环的结束值,让它随行数增加逐行减小即可:第i行只需要打印到x - i + 1这个数字,因为Python的range是左闭右开区间,所以结束参数要加1,调整为x - i + 2。
修正后的完整代码:
x = int(input("Enter number of row:\n")) for i in range(1, x + 1): # 内层循环结束值随i增大减小,实现逐行少一个数字 for j in range(1, x - i + 2): print(j, end=" ") print()
运行验证
当输入x=4时,运行结果完全符合目标图案要求。
内容的提问来源于stack exchange,提问作者user17086391
相关产品推荐
相关产品推荐

