What does end == mean in python?

So, I'm struggling trying to understand this kinda simple exercise

def a[n]:
    for i in range[n]:
        for j in range[n]:
            if i == 0 or i == n-1 or j == 0 or j == n-1:
                print['*',end='']
            else:
                print[' ',end='']
        print[]

which prints an empty square. I tought I could use the code

            print["*", ''*[n-2],"*"]

to print the units in between the upper and the lower side of the square but they won't be aligned to the upper/lower side ones, which doesn't happen if you run the first code... so... could this be because of end='' or print[] [would you be so kind and tell me what do they mean?]?

asked Dec 4, 2013 at 10:13

3

Check the reference page of print. By default there is a newline character appended to the item being printed [end='\n'], and end='' is used to make it printed on the same line.

And print[] prints an empty newline, which is necessary to keep on printing on the next line.

EDITED: added an example.
Actually you could also use this:

def a[n]:
    print['*' * n]
    for i in range[n - 2]:
        print['*' + ' ' * [n - 2] + '*']
    if n > 1:
        print['*' * n] 

answered Dec 4, 2013 at 10:20

starrifystarrify

13.9k4 gold badges33 silver badges49 bronze badges

2

In Python 3.x, the end=' ' is used to place a space after the displayed string instead of a newline.

please refer this for a further explanation.

answered Dec 4, 2013 at 10:25

Nilani AlgiriyageNilani Algiriyage

29.6k31 gold badges82 silver badges119 bronze badges

1

spam = ['apples', 'bananas', 'tofu', 'cats']
    i = 0
    for i in range[len [spam]]:
        if i == len[spam] -1:
            print ['and', spam[i]]
        elif i == len [spam] -2:
            print [spam [i], end=' ']
        else:
            print [spam [i], end=', ']

So I'm new to this whole coding thing, but I came up with this code. It's probably not as sophisticated as the other stuff, but it does the job.

spam = ['apples', 'bananas', 'tofu', 'cats']    
def fruits[]:
    i = 0
    while i != len[spam]:
        if len[spam] != i :
            print ['and', spam[i]]
            i += 1   
 fruits[]  

try this!

answered Sep 27, 2017 at 14:52

print[] uses some separator when it has more than one parameter. In your code you have 3 ["" is first, ''[n-2] - second, "*" -third]. If you don't want to use separator between them add sep='' as key-word parameter.

print["*", ' '*[n-2], "*", sep=''] 

answered Dec 4, 2013 at 10:25

Andrey ShokhinAndrey Shokhin

10.3k1 gold badge17 silver badges15 bronze badges

use this to understand

for i in range[0,52]:
    print[5*"fiof" ,end=" "]

just put different things here in end and also use with sep

Suraj Rao

29.1k11 gold badges95 silver badges100 bronze badges

answered Sep 21, 2021 at 10:19

print['\n'.join['*{}*'.format[[' ' if 0

Chủ Đề