zhou8491029 发表于 2021-4-2 09:46:24

Python零基础入门第12讲课后题第二题打印出来的图形不一样

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

i = 1
while i <= n:
    j = 0
    while j <= n-1:
      print(" ", end="")
      j = j + 1
    j = 0
    while j < 2*i-1:
      print("*", end="")
      j = j + 1
    print("")
    i = i + 1
我打印出来的*号左边的事对齐的,哪里有问题?

wp231957 发表于 2021-4-2 10:01:54

空格输出不对
   while j <= n-i:
      print(" ", end="")
      j = j + 1

zhou8491029 发表于 2021-4-2 10:03:17

wp231957 发表于 2021-4-2 10:01
空格输出不对
   while j

哪个空格呀?

wp231957 发表于 2021-4-2 10:04:49

本帖最后由 wp231957 于 2021-4-2 10:06 编辑

给你一个简化版本:
n = int(input("请输入三角形的层数:"))
for i in range(n):
    print(" "*(n-i), end="")
    print("*"*(2*i-1), end="")
    print()


PS D:\我> py test3.py
请输入三角形的层数:10

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

zhou8491029 发表于 2021-4-2 10:06:49

wp231957 发表于 2021-4-2 10:04
给你一个简化版本:




这个还么学到for这个循环,但是我知道,我的问题出在哪里呢?

wp231957 发表于 2021-4-2 10:07:07

zhou8491029 发表于 2021-4-2 10:03
哪个空格呀?

2楼不是给出修正代码了吗难道你自己还原不了吗

zhou8491029 发表于 2021-4-2 10:10:20

wp231957 发表于 2021-4-2 10:07
2楼不是给出修正代码了吗难道你自己还原不了吗

看到了,没看到1和i的区别。。。,谢谢了,我的天啊,就这一点就不一样。。。。谢谢
页: [1]
查看完整版本: Python零基础入门第12讲课后题第二题打印出来的图形不一样