Tentando contar palavras em uma string

Estou tentando analisar o conteúdo de uma string. Se tiver uma pontuação misturada na palavra, quero substituí-las por espaços.

Por exemplo, se Johnny.Appleseed! É: um * bom & agricultor é inserido como uma entrada, então deve-se dizer que há 6 palavras, mas meu código só o vê como 0 palavras. Não tenho certeza de como remover um caractere incorreto.

FYI: Estou usando o python 3, também não consigo importar nenhuma biblioteca

string = input("type something")
stringss = string.split()

    for c in range(len(stringss)):
        for d in stringss[c]:
            if(stringss[c][d].isalnum != True):
                #something that removes stringss[c][d]
                total+=1
print("words: "+ str(total))

questionAnswers(7)

yourAnswerToTheQuestion