3

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

Bayyls
  • 81
  • 1
  • 1
  • 6

5 Answers5

10

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

coding_carebear
  • 308
  • 3
  • 9
8

You need to use strip() function for this:

print(first_letter.strip() + last_name_3.strip() + str(random_number).strip())
Sameer Mirji
  • 2,135
  • 16
  • 28
2

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

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

Andy
  • 49,085
  • 60
  • 166
  • 233
coding_carebear
  • 308
  • 3
  • 9
1

You could also just do

print(first_letter + last_name + str(random_number))
FerdyRod
  • 1,016
  • 13
  • 23
0

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="")
Bayyls
  • 81
  • 1
  • 1
  • 6