View Discussion
Improve Article
Save Article
View Discussion
Improve Article
Save Article
By default Python‘s print[] function ends with a newline. A programmer with C/C++ background may wonder how to print without a newline. Python’s print[] function comes with a parameter called ‘end‘. By default, the value of this parameter is ‘\n’, i.e. the new line character.
Example 1:
Here, we can end a print statement with any character/string using this parameter.
Python3
print
[
"Welcome to"
, end
=
' '
]
print
[
"GeeksforGeeks"
, end
=
' '
]
Output:
Welcome to GeeksforGeeks
Example 2:
One more program to demonstrate the working of the end parameter.
Python3
print
[
"Python"
, end
=
'@'
]
print
[
"GeeksforGeeks"
]
Output:
Python@GeeksforGeeks
Example 3:
The print[] function uses the sep parameter to separate the arguments and ends after the last argument.
Python3
print
[
'G'
,
'F'
, sep
=
'
', end='
']
print
[
'G'
]
print
[
'09'
,
'12'
,
'2016'
, sep
=
'-'
, end
=
'\n'
]
print
[
'Red'
,
'Green'
,
'Blue'
, sep
=
','
, end
=
'@'
]
print
[
'geeksforgeeks'
]
Output
GFG 09-12-2016 Red,Green,Blue@geeksforgeeks
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