def printSanjiao(hang):
i = 1
while i <= hang:
j = 1
if i <= hang/2:
while j <= i:
print("*", end='')
j += 1
else:
while j <= hang - i:
print("*", end='')
j += 1
print("\n")
i += 1
if __name__ == "__main__":
printSanjiao(10)
这段代码是一个Python函数,用于打印一个三角形。函数printSanjiao(hang)接受一个参数hang,表示三角形的行数。
函数的实现逻辑如下:
- 初始化变量i为1,表示当前行数。
- 进入循环,循环条件为i小于等于hang,即当前行数小于等于要打印的总行数。
- 初始化变量j为1,表示当前行的列数。
- 判断当前行数是否小于等于总行数的一半(hang/2),如果是,则打印"*"字符,直到j等于i,表示当前行的星号已经打印完毕。
- 如果当前行数大于总行数的一半,说明已经过了中间行,需要开始减少星号的数量。通过判断j小于等于总行数减去当前行数(hang - i),再打印"*"字符,直到j等于总行数减去当前行数。
- 打印换行符,表示当前行的星号已经打印完毕。
- 将i加1,进入下一行的打印。
- 循环结束后,三角形打印完成。