skip to Main Content
import random
from words import words
import string

def get_valid_word(word):
    word = random.choice(words)
    while '-' in word or ' ' in word:
        word = random.choice(words)
    
    return word

def hangman():
    word = get_valid_word(words)
    word_letters = set(word)  # letters in word
    alphabet = set(string.ascii_uppercase)
    used_letters = set()
    
    user_input = ("type something: ")
    print(user_input)

I have been following along a YouTube python project, but when I use the import function the code doesn’t seem to run. It executes nothing and says its done.

2

Answers


  1. Because you never called hangman():

    If you are using a script try this at the end of script:

    if __name__ = "__main__":
        hangman()
    

    Otherwise, just call hangman() at the end.

    Login or Signup to reply.
  2. A function is a block of code that will only run when it has been called upon. You have declared two functions but never called them, therefore they cannot run. To fix this, simply call the functions like this:

    hangman()
    get_valid_word()
    

    Add this to the very bottom of your code without an indent so that the compiler knows that is the main code. You should have something looking like this:

    import random
    from words import words
    import string
    
    def get_valid_word(word):
        word = random.choice(words)
        while '-' in word or ' ' in word:
            word = random.choice(words)
        
        return word
    
    def hangman():
        word = get_valid_word(words)
        word_letters = set(word)  # letters in word
        alphabet = set(string.ascii_uppercase)
        used_letters = set()
        
        user_input = ("type something: ")
        print(user_input)
    
    hangman()
    get_valid_word()
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search