|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
n = int(input("请输入三角形的层数:"))
i = 1
while i <= n :
j = 0
while j < n-i:
print (" ", end="")
j = j+1
j = 0
while j < 2*i-1:
print("*", end="")
j = j+1
print("")
i = i+1
看了半天没看懂是如何实现打印三角形的,请高手逐句解释一下代码,谢谢!
本帖最后由 jackz007 于 2022-8-30 13:05 编辑
- n = int(input("请输入三角形的层数:"))
- i = 1 # 行号 i 赋初值 1
- while i <= n : # 循环 n 次,循环变量 i 的变化范围为 1、2... n
- j = 0
- while j < n-i: # 循环 n - i 次,在同一行连续打印 n - i 个空格,第1、2、3行将分别打印 n - 1、n - 2 、n - 3 个空格,第 n 行则没有空格。
- print (" ", end="") # print(... , end = "") 代表不换行打印
- j = j+1
- j = 0
- while j < 2*i-1: # 循环 2 * i - 1 次,在同一行连续打印 2 * i - 1 个星号,第1、2、3分别打印1、3、5 个星号
- print("*", end="") # print(... , end = "") 代表不换行打印
- j = j+1
- print("") # 换行,准备打印下一行
- i = i+1 # 行号增加 1
复制代码
试试这个简化版的代码:
- n = int(input("请输入三角形的层数:"))
- for i in range(1 , n + 1): # 循环 n 次,每次打印 1 行,循环变量 i 是行号,变化范围 1 ~ n。
- print(' ' * (n - i) + '*' * (2 * i - 1)) # 打印 n - i 个 ' ' 和 2 * i - 1 个 '*'
复制代码
|
|