1

I'm new to programming and I stumbled across something unsightly that I would like to remove. Here's my code:

def test1():
    print "What is your name, traveler?"
    name = raw_input()
    print "Hi %r!" % (name)

Here's the output:

What is your name traveler?
Hi 'Karatepig'!

Is there any way to get rid of those single quotes around my name?

Karatepig
  • 29
  • 7

2 Answers2

3

You want to use %s there, not %r.

print "Hi %s!" % (name)

I'd add details, but I think others have already written better explanations here and here.

Most saliently:

The difference between %s and %r is that %s uses the str function and %r uses the repr function. You can read about the differences between str and repr in this answer, but for built-in types, the biggest difference in practice is that repr for strings includes quotes and all special characters are escaped.

Community
  • 1
  • 1
ron rothman
  • 17,348
  • 7
  • 41
  • 43
1

Or use the "new" string formatting method:

def test1():
print "What is your name, traveler?"
name = raw_input()
print "Hi {0}!".format(name)
James King
  • 6,229
  • 3
  • 25
  • 40