如何在Python中仅用算术运算打印数字三角形,禁止转字符串操作
纯算术运算实现Python数字三角形打印
实现逻辑
要实现完全无字符串操作的数字三角形打印,可通过数学构造直接生成每行对应的整数:
- 第i行(i从1开始计数)的数值等于i重复i次组成的整数,该数值可通过公式
i * (10 ** i - 1) // 9计算得到- 公式推导:重复i次的1组成的整数为
(10^i -1)/9,例如i=2时对应数值11,乘以行号i即可得到对应重复数字的整数
- 公式推导:重复i次的1组成的整数为
代码实现
n = 5 for i in range(1, n): num = i * (10 ** i - 1) // 9 print(num)
运行输出(与示例完全一致)
1 22 333 4444
扩展说明
如果需要输出n行(即n=5时输出到55555),只需将循环范围改为range(1, n+1)即可。
内容的提问来源于stack exchange,提问作者1chimaruGin
相关产品推荐
相关产品推荐

