Concatenating strings in python without spaces

Question:

How can I print my strings so that there are no spaces between each output.

name_input = str(input("Please enter your name"))
name_input = name_input.strip()
name_input = name_input.lower()
first_letter = name_input[0]
first_space = name_input.find(" ")
last_name = name_input[first_space:]
last_name_3 = last_name[0:4]
random_number = random.randrange(0,999)
print("*********************************************")
print("Username Generator")
print("*********************************************")
print(first_letter + last_name_3, random_number)`

Incorrect output: b fir 723

what I require: bfir723

Asked By: Bayyls

||

Answers:

You need to use strip() function for this:

print(first_letter.strip() + last_name_3.strip() + str(random_number).strip())
Answered By: Sameer Mirji

use the separator parameter to the print function, to remove the space by passing in an argument with no space.

Like this:

print(first_letter, last_name_3, random_number, sep='')

The default separator is a space. Specification is here:

https://docs.python.org/3/library/functions.html#print

Answered By: coding_carebear

You could also just do

print(first_letter + last_name + str(random_number))
Answered By: FerdyRod

It turns out a combination of .strip() and ,sep=” was required to print correctly:

print(first_letter.strip() + last_name_3.strip(), random_number, sep="")
Answered By: Bayyls

You don’t need strip() and sep=''

You only need one or the other, but sep='' is cleaner and more beautiful

Answered By: coding_carebear
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.