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

What does end == mean in python?

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

What does end == mean in python?

Suraj Rao

29.1k11 gold badges95 silver badges100 bronze badges

answered Sep 21, 2021 at 10:19

What does end == mean in python?

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

answered Dec 4, 2013 at 10:32

volcanovolcano

3,53020 silver badges28 bronze badges

1

What does end () do in Python?

Python print end keyword The end key of print function will set the string that needs to be appended when printing is done. By default the end key is set by newline character. So after finishing printing all the variables, a newline character is appended.

What is the == function in Python?

Put simply: == determines if the values of two objects are equal, while is determines if they are the exact same object. *id() is a built-in function in Python. It accepts a single parameter and is used to return the identity of an object.

What does 2 == mean in Python?

Difference between == and = in Python. In Python and many other programming languages, a single equal mark is used to assign a value to a variable, whereas two consecutive equal marks is used to check whether 2 expressions give the same value .