Max.Z 发表于 2020-8-6 16:34:03

为什么我按照第十二讲录入的代码出来的三角形图形和答案不一样呢?

n = int(input("请输入三角形的层数:"))

i = 1
while i <= n:
    j = 0
    while j < n-i:
      print(" ", end="")
      j = j + i

    j = 0
    while j < 2*i-1:
      print("*", end="")
      j = j + 1

    print("")
    i = i + 1

Max.Z 发表于 2020-8-6 16:36:22

n = int(input("请输入三角形的层数:"))

i = 1
while i <= n:
    j = 0
    while j < n - i:
      print(" ", end="")
      j = j + i

    j = 0
    while j < 2 * i - 1:
      print("*", end="")
      j = j + 1

    print("")
    i = i + 1

zltzlt 发表于 2020-8-6 16:37:09

用 for 循环它不香嘛?

n = int(input("请输入三角形的层数:"))

for i in range(1, n + 1):
    print(' ' * (n - i) + '*' * (2 * i - 1))   # 打印 n - i 个空格和 2 * i - 1 个星号

Twilight6 发表于 2020-8-6 16:37:21

本帖最后由 Twilight6 于 2020-8-6 16:39 编辑


因为你大循环内部的第一个 while 循环里面 j = j + 1 写成了j = j + i

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

Max.Z 发表于 2020-8-6 17:13:12

Twilight6 发表于 2020-8-6 16:37
因为你大循环内部的第一个 while 循环里面 j = j + 1 写成了j = j +i

感谢感谢,瞅了一个下午没有看出来{:10_266:}
页: [1]
查看完整版本: 为什么我按照第十二讲录入的代码出来的三角形图形和答案不一样呢?