Próbuję policzyć słowa w łańcuchu

Próbuję przeanalizować zawartość ciągu. Jeśli w słowie występuje interpunkcja, chcę zastąpić je spacjami.

Na przykład, jeśli Johnny.Appleseed! Jest: a * good & farmer jest wprowadzany jako dane wejściowe, to powinien powiedzieć, że jest 6 słów, ale mój kod widzi go tylko jako 0 słów. Nie wiem, jak usunąć niepoprawny znak.

FYI: Używam Pythona 3, nie mogę też importować żadnych bibliotek

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