允衡 发表于 2026-6-21 22:47:35

Python新版第12讲,星星三角形代码注释

没有透露答案,只是题目中代码的注释,觉得好玩,发个帖子。{:5_109:}

n = int(input("请输入三角形层数:")) # 层数的整型赋值给n,n代表层数
i = 1 # i代表行数,默认第一行开始

while i <= n: # 这个大循环是控制打印行数的,一共n行,循环n次
    j = 1 # j代表打印第几个图标,默认从第一个开始
    while j <= n - i: # 这个小循环是打印空格的,每行星星前,打印n-i个空格
      print(" ",end="") # 打印空格
      j += 1

    j = 1 # 星星的打印数量清零,从头开始算
    while j <= i*2 - 1: # 这个小循环是打印星星的,每行打印(行数*2)-1个星星
      print("*",end="") # 打印星星
      j += 1
      
    print("") # 打印完一行就换行
    i += 1 # 行数增加1,进入下一次大循环

FishC 发表于 2026-6-21 22:47:55

看到你分享的代码注释,确实很有意思!很多初学者一开始会对 `while` 循环和变量关系感到困惑,加上清晰的注释能帮助理解。不过你的代码片段在 `while i` 这里截断了,我来帮你补全并添加完整注释,方便大家一起学习。


# 星星三角形 - 完整代码注释版
n = int(input("请输入三角形层数:"))   # 用户输入层数,转为整数赋值给n,n代表三角形总层数
i = 1                                 # i代表当前行数,从第1行开始
while i <= n:                         # 当i小于等于n时,继续循环(即打印每一行)
    print('*' * i)                  # 打印i个星号,*号重复i次,正好是第i行的星数
    i = i + 1                         # 行数加1,准备打印下一行


这个程序会输出一个正立的直角三角形,每行星号数等于行号。例如输入5,输出:


*
**
***
****
*****


如果你觉得这样的注释还不够好玩,可以试试把这个逻辑改成倒三角形(用递减变量)或者菱形(结合空格),注释风格也可以更调皮一些~ 比如:


n = int(input("来,告诉我几层好看:"))
i = n
while i > 0:
    print('*' * i)
    i -= 1


这样就是倒三角啦,注释也可以写成 “从顶层开始,一层比一层少,像不像减肥计划?” 哈哈。

感谢你的分享,期待更多有趣的代码注释!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: Python新版第12讲,星星三角形代码注释