鱼C论坛

 找回密码
 立即注册
查看: 556|回复: 2

[已解决]关于九九乘法表

[复制链接]
发表于 2024-4-12 20:20:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
可以讲讲这两种写法 一个就是每一个式子为一行,另一种就比较有结构的。 为什么缩进一个tab差异这么大呢,我没有理解。


for i in range(1,10):
    for j in range(1,i+1):
        print(i,"*",j,"=",i*j,end = " ")
    print("\n")

for i in range(1,10):
    for j in range(1,i+1):
        print(i,"*",j,"=",i*j,end = " ")
        print("\n")
最佳答案
2024-4-12 21:19:58
for i in range(1,10):
    for j in range(1,i+1):
        print(i,"*",j,"=",i*j,end = " ")    # 此语句归属内层循环 (for j ...),会在内层循环中被反复执行,print(... end = " ") 在打印完一项后,不会回车换行,后续 print() 打印的内容会继续跟在后面
    print("\n")                             # 此语句归属外层循环 (for i ...),会在每次内层循环结束过后被执行一次,也就是在完整打印完一行内容后再回车换行。

for i in range(1,10):
    for j in range(1,i+1):
        print(i,"*",j,"=",i*j,end = " ")    # 此语句归属内层循环 (for j ...),会在内层循环中被反复执行,print(... end = " ") 在打印完一项后,不会回车换行,后续 print() 打印的内容会继续跟在后面
        print("\n")                         # 此语句归属内层循环 (for j ...),会在内层循环中被反复执行,这个 print() 会打印回车换行 2 次,从而,断送前一句 print(... end = " ") 的作用。
微信图片编辑_20240412201732.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-4-12 20:20:26 | 显示全部楼层
这两种写法实现的功能是一样的,都是输出九九乘法表。只是在代码结构上有一些区别。

第一种写法中,每一个式子都占据一行,通过一个内循环来输出每个式子的结果,外循环用来确定九九乘法表的行数。在每一行结束时,使用`print("\n")`来换行,以保证每一行的结果都单独占据一行。这种写法可以保持九九乘法表整齐美观,但比较消耗内存。

而第二种写法中,每个式子之间没有换行,通过在每个式子输出之后添加`print("\n")`来手动换行。这样,内循环每次输出一个式子后就会换行,外循环则控制了九九乘法表的行数。由于没有每个式子都单独占据一行,所以整个九九乘法表的结构就比较松散,但节省了些许内存。

缩进一个tab的差异主要是为了体现代码的层次结构和可读性。第一种写法中,每个式子都独占一行,通过缩进来区分内外循环的层次,使代码更加清晰易懂。而第二种写法中,每个式子与换行符同栏对齐,缩进被忽略,本质上并没有层次感。

总结起来,第一种写法保持了九九乘法表的整齐美观,适合展示给他人或打印出来。而第二种写法节省了内存,适合在终端或控制台中直接显示九九乘法表。根据实际需求选择合适的写法即可。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-4-12 21:19:58 | 显示全部楼层    本楼为最佳答案   
for i in range(1,10):
    for j in range(1,i+1):
        print(i,"*",j,"=",i*j,end = " ")    # 此语句归属内层循环 (for j ...),会在内层循环中被反复执行,print(... end = " ") 在打印完一项后,不会回车换行,后续 print() 打印的内容会继续跟在后面
    print("\n")                             # 此语句归属外层循环 (for i ...),会在每次内层循环结束过后被执行一次,也就是在完整打印完一行内容后再回车换行。

for i in range(1,10):
    for j in range(1,i+1):
        print(i,"*",j,"=",i*j,end = " ")    # 此语句归属内层循环 (for j ...),会在内层循环中被反复执行,print(... end = " ") 在打印完一项后,不会回车换行,后续 print() 打印的内容会继续跟在后面
        print("\n")                         # 此语句归属内层循环 (for j ...),会在内层循环中被反复执行,这个 print() 会打印回车换行 2 次,从而,断送前一句 print(... end = " ") 的作用。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-2-8 05:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表