编写程序 输出如下图所示的九九乘法表
for循环、字符串格式化
代码及实现过程 解法初探方法本质为双for循环嵌套 其中还利用到了字符串格式化 字符串格式化用法
for i in range(1,10):
for j in range(1,i 1):
print( {}x{} {} .format(j,i,i*j))
print( )
部分输出如下
1x1 1 1x2 2 2x2 4 1x3 3 2x3 6 3x3 9 1x4 4 2x4 8 3x4 12 4x4 16 1x5 5 2x5 10 3x5 15 4x5 20 5x5 25 1x6 6 2x6 12
输出结果不理想 没有实现题目要求的格式 但似乎只需要让每一部分不自动换行就可以实现目标…
方法1考虑到上述问题 可以参考以下文章进行代码改进优化 “n”、“t”、“end”的用法
利用end 可以达到不换行的目的
for i in range(1,10):
for j in range(1,i 1):
print( {}x{} {}t .format(j,i,i*j),end )
# print( {}x{} {} .format(j,i,i*j),end ) # 此写法也行
# print(f {j}x{i} {i*j} , end ) # 此写法也行
print( )
输出
1x1 1 1x2 2 2x2 4 1x3 3 2x3 6 3x3 9 1x4 4 2x4 8 3x4 12 4x4 16 1x5 5 2x5 10 3x5 15 4x5 20 5x5 25 1x6 6 2x6 12 3x6 18 4x6 24 5x6 30 6x6 36 1x7 7 2x7 14 3x7 21 4x7 28 5x7 35 6x7 42 7x7 49 1x8 8 2x8 16 3x8 24 4x8 32 5x8 40 6x8 48 7x8 56 8x8 64 1x9 9 2x9 18 3x9 27 4x9 36 5x9 45 6x9 54 7x9 63 8x9 72 9x9 81方法2
方法2与方法1本质一样 不同处为版本更新带来的语法差异 现版本多用上述str.format()进行“字符串格式化” 而旧版本则用d
for i in range(1,10): for j in range(1,i 1): print( %dx%d %d % (j,i,i*j),end ) print( )
输出
1x1 1 1x2 2 2x2 4 1x3 3 2x3 6 3x3 9 1x4 4 2x4 8 3x4 12 4x4 16 1x5 5 2x5 10 3x5 15 4x5 20 5x5 25 1x6 6 2x6 12 3x6 18 4x6 24 5x6 30 6x6 36 1x7 7 2x7 14 3x7 21 4x7 28 5x7 35 6x7 42 7x7 49 1x8 8 2x8 16 3x8 24 4x8 32 5x8 40 6x8 48 7x8 56 8x8 64 1x9 9 2x9 18 3x9 27 4x9 36 5x9 45 6x9 54 7x9 63 8x9 72 9x9 81
参考资料
https://cloud.tencent.com/developer/article/1559802
https://www.cnblogs.com/pychina/p/10171922.html



