I had an interview the other day that really shook me up.

He asked me a question that really made me wonder how much I really knew about programming. I really thought I knew Python (at least somewhat decently), but I understand now there’s a difference between using a language a few times, and actually knowing the language in and out.

My answer was… “crap.” I did not know what to do really, and it cost me the interview. I was ashamed, and now that I try it, I should’ve known it.

The question was (I think):


Remove the first letter from each word in the string:
> "asdf das f po"

EDIT 2012-07-16: This was my March attempt.


# removes spaces from string

line = original
newline = ""

for i in line:
    if ord(i) != (ord(' ')):
        newline += i
    else:
        pass

print newline

# removes first letter of each word from string and fixes spacing

line = original
newword = ""

first = 1

newline =

for word in line.split():
    for letter in word:
        if first != 1:
            newword += letter
        else:
            first = 0

    first = 1
    newline.append(newword)
    newword = ""

output = []

for word in newline:
    if word == '' or word == ' ':
        pass
    else:
        output.append(word)

newline = " ".join(output)
print newline

EDIT 20120716: How did I not realize how bad this was back when I wrote it? Wow. Just wow. I don’t know how I made it this far programming if that was the best I could come up with. Honest.


def removefirstletter( sentence ):
    tokens = sentence.split()
    for word in range(len(tokens)):
        tokens[word] = "".join(list(tokens[word])[1:])
    return " ".join(tokens)

Easily handles any issue with spacing when you remove the word with one letter.

The output should be


> "df as o"

I’d like to think I made progress, but this could be done a lot better still. But if I got this far in 3 months, I’m can’t think of the possibilities in a couple years!