Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
223 views
in Technique[技术] by (71.8m points)

python - Trying to make this diamond shape using for loops:

I am trying to make a diamond shape using loops in python. This is my code so far:

facesize=10
radius=5

for line in range(facesize):
    rightshift= ""
    for shift in range(5):
        rightshift= " "
        print(rightshift)
    print("-")

Please help on how I can fix this. I am trying to make something like this:

            -
          -   -
        -       -
      -           -
    -               -  
      -           -
        -       -
          -   -
            -
question from:https://stackoverflow.com/questions/65648990/trying-to-make-this-diamond-shape-using-for-loops

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can think of it as an horizontal mirror of a string with a "-" at positions going from last to first and back to last:

side = 6
for position in range(1-side,side): # last to first, and back (abs value)
    A = [" "]*side                  # left half
    A[abs(position)] = "-"          # set "-" at position
    A += A[-2::-1]                  # mirror for right side
    print(*A)

    
          -          
        -   -        
      -       -      
    -           -    
  -               -  
-                   -
  -               -  
    -           -    
      -       -      
        -   -        
          -   

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...