Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
__pycache__/
Binary file added __pycache__/words.cpython-38.pyc
Binary file not shown.
46 changes: 46 additions & 0 deletions guess_number/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Beginner projects 2 and 3, Guess number.
import random

def guess(x):
"""Create a random number to guess."""
random_number = random.randint(1, x)

# guess = 0 # guess = 0 to make sure guess != random_number.
guess = "" # declare guess without a value.

while guess != random_number:
guess = input(f"\nGuess a number between 1 and {x}: ")
guess = int(guess)
# print(guess)

if guess < random_number:
print(f"{guess} is too low, try again.")
elif guess > random_number:
print(f"{guess} is too high, try again.")

# Print doesn't have to be in the loop.
print(f"You guessed right, {random_number} is the right number!")

# guess(10) # Uncomment to guess the random number again.


def computer_guess(x):
"""Have the computer guess the secret number."""
low = 1
high = x
feedback = ''
while feedback != 'c': # 'c' for correct
if low != high:
guess = random.randint(low, high)
else:
guess = low # Could also be high, low == high

feedback = input(f"Is {guess} too high (H), too low (L), or correct (C)??").lower()
if feedback == 'h':
high = guess - 1
elif feedback == 'l':
low = guess + 1

print(f"\nThe computer guessed your secret number, it's {guess}!")

computer_guess(10000)
60 changes: 60 additions & 0 deletions hangman.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
import random # Randomly choose a word.
from words import words # List of words.
import string # Create alphabet.


# Make sure the chosen word doesn't contain dashes or spaces.
def get_valid_word(words):
""" """
word = random.choice(words) # Randomly choose item from the list.
while '-' in word or ' ' in word:
word = random.choice(words)

return word.upper()


def hangman():
word = get_valid_word(words)
word_letters = set(word) # letters in the word.
alphabet = set(string.ascii_uppercase)
used_letters = set() # Userguessed letters.

lives = 6

# Get user input.
while len(word_letters) > 0 and lives > 0:
# Display letters used.
print(f"\nJe hebt nog {lives} levens.")
print("Deze letters zijn gekozen:", " ".join(used_letters))

# Display current word.
word_list = [
letter if letter in used_letters
else '-' for letter in word
]
print("Huidig woord: ", " ".join(word_list))

# Get user input
user_letter = input("\nRaad een letter: ").upper()

if user_letter in alphabet - used_letters:
used_letters.add(user_letter)
if user_letter in word_letters:
word_letters.remove(user_letter)
else:
lives = lives - 1 # Takes away a life.
print(f"'{user_letter.upper()}' is niet goed.")

elif user_letter in used_letters:
print(f"Je hebt de letter {user_letter} al geraden. Probeer een andere letter.")

else:
print(f"De letter {user_letter} zit niet in het woord. Probeer het nog eens.")

# When len(word_letters) == 0 OR when lives == O
if lives == 0:
print(f"\nHelaas, je hebt verloren. Het woord was {word}\n")
else:
print(f"\n\tGoedzo! Je hebt het woord {word} geraden!\n")

hangman()
11 changes: 11 additions & 0 deletions index.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Beginner projects
https://www.youtube.com/watch?v=8ext9G7xspg

01 MadLibs, 1.40
02 Guess the number, 6.54
03 Guess the number (user), 13.17
04 Rock paper scissors, 21.14
That didn't teach me much.
05 Hangman, 24.25
That was fun.
06 Tic tac toe, 35.53
31 changes: 31 additions & 0 deletions rock_paper_scissors_keu.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# ffc Beginner projects 4, Rock paper scissors.

import random

# Rules of the game
# r > s, s > p, p > r

def play():
"""Play rock-paper-scissors against the computer."""
print(f"\nLet's play Rock paper scissors!")
user = input(f"'R' for rock, 'P' for paper, 'S' for scissors: ").lower()
computer = random.choice(['r', 'p', 's'])

if user == computer:
return "It's a tie"

if is_win(user, computer):
return("You won!")
else:
return("You lost!")

def is_win(player, opponent):
"""Determine the winner if it's not a tie."""
# Return True if player wins.
if (player == 'r' and opponent == 's') \
or (player == 's' and opponent == 'p') \
or (player == 'p' and opponent == 'r'):
return True

# Display the returned result.
print(play())
1 change: 1 addition & 0 deletions words.py

Large diffs are not rendered by default.