Current status: I’m working on exercise 41 of 52 in Learn Python the Hard Way, and continuing from Make Three in a Row, Part 1 (though I’m probably not far enough in the book for this yet…)

### Replace list cause I’ve now learnt about dictionary 📚

``moves = { }for i in range(0,9):    moves[i] = input(">>> ")    print("Player X or 0 said:", moves[i])print(moves) # let’s look at that dictionary!``

### If players didn’t need to take turns… 🤪

…then something like this would (sort of but not really) differentiate between two players:

``moves = { }for i in range(0,9,2):        moves[i] = input("X >>> ")        print("Player X:", moves[i])for i in range(1,10,2):        moves[i] = input("0 >>> ")        print("Player 0:", moves[i])print(moves)``

Hmmmmmmmmmmmmm. Does this mean it’s easier to use a `while` loop? Let’s try.

``moves = { }i = 1while i <= 9:    moves[i] = input(">>> ")    print(f"Player X or 0 said: {moves[i]}")    i += 1print(f"{moves}")``

And this means I can finally differentiate between the players properly!

``moves = { }i = 1while i <= 8:    moves[i] = input("X >>> ")    print(f"Player X: {moves[i]}")    i += 1    moves[i] = input("0 >>> ")    print(f"Player 0: {moves[i]}")    i += 1print(f"{moves}")``

That will only count 8 moves since the loop increments twice. But I’ll go with that for now since the last one is given anyway… So now I’ve got a script that does this:

• asks for input 8 times (but doesn’t care what you type)
• creates a dictionary with the user input
• has no clue about any rules or who wins

I couldn’t figure out how to inch forward from that 👆. Dictionary seems like a good idea, but for now; I’m simplifying back to a list — and playing around with using other Python parts I’ve learnt.

### Define a function, and also…

`append` is a method I can use on the list data type
`len()` is a built-in function to return length

``def game():    moves = [ ]    while len(moves) < 8: # Count number of items in the list 'moves'        playermove = input("X >>> ")        print(f"Player X: {playermove}")        moves.append(playermove) # Add item 'playermove' to end of list        playermove = input("0 >>> ")        print(f"Player 0: {playermove}")        moves.append(playermove)    print(f"{moves}")game()``

### And what if I try to use some if statements?!

``def game():    print("Lets play! Only integers between 1-9 plz:")    for playermove in range(0,9):        playermove = int(input(">>> "))        if playermove == 1:            print("Top left corner, all right. ↖️")        if playermove == 2:            print("Top center. ⬆️")        if playermove == 3:            print("Top right corner, nice. ↗️")        if playermove == 4:            print("Left center. ⬅️")        if playermove == 5:            print("Yeah that’s a good one. 🆒")        if playermove == 6:            print("Right center. ➡️")        if playermove == 7:            print("Bottom left corner, good job. ↙️")        if playermove == 8:            print("Bottom center. ⬇️")        if playermove == 9:            print("Bottom right corner, cool. ↘️")game()``

Well, that was fun. But back to the book! The current chapter is “Learning to Speak Object-Oriented”, and starting to get a grip on what objects and classes are will hopefully help me next.