diff --git a/.gitignore b/.gitignore index 17bcf8e..744032f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .tool-versions -venv \ No newline at end of file +venv +__pycache__ diff --git a/10/task.py b/010/task.py similarity index 100% rename from 10/task.py rename to 010/task.py diff --git a/12/task.py b/012/task.py similarity index 100% rename from 12/task.py rename to 012/task.py diff --git a/013/task.py b/013/task.py new file mode 100644 index 0000000..656de71 --- /dev/null +++ b/013/task.py @@ -0,0 +1 @@ +# No code on this day! Learnt how to debug online \ No newline at end of file diff --git a/014/game_data.py b/014/game_data.py new file mode 100644 index 0000000..894b63c --- /dev/null +++ b/014/game_data.py @@ -0,0 +1,302 @@ +data = [ + { + 'name': 'Instagram', + 'follower_count': 346, + 'description': 'Social media platform', + 'country': 'United States' + }, + { + 'name': 'Cristiano Ronaldo', + 'follower_count': 215, + 'description': 'Footballer', + 'country': 'Portugal' + }, + { + 'name': 'Ariana Grande', + 'follower_count': 183, + 'description': 'Musician and actress', + 'country': 'United States' + }, + { + 'name': 'Dwayne Johnson', + 'follower_count': 181, + 'description': 'Actor and professional wrestler', + 'country': 'United States' + }, + { + 'name': 'Selena Gomez', + 'follower_count': 174, + 'description': 'Musician and actress', + 'country': 'United States' + }, + { + 'name': 'Kylie Jenner', + 'follower_count': 172, + 'description': 'Reality TV personality and businesswoman and Self-Made Billionaire', + 'country': 'United States' + }, + { + 'name': 'Kim Kardashian', + 'follower_count': 167, + 'description': 'Reality TV personality and businesswoman', + 'country': 'United States' + }, + { + 'name': 'Lionel Messi', + 'follower_count': 149, + 'description': 'Footballer', + 'country': 'Argentina' + }, + { + 'name': 'Beyoncé', + 'follower_count': 145, + 'description': 'Musician', + 'country': 'United States' + }, + { + 'name': 'Neymar', + 'follower_count': 138, + 'description': 'Footballer', + 'country': 'Brasil' + }, + { + 'name': 'National Geographic', + 'follower_count': 135, + 'description': 'Magazine', + 'country': 'United States' + }, + { + 'name': 'Justin Bieber', + 'follower_count': 133, + 'description': 'Musician', + 'country': 'Canada' + }, + { + 'name': 'Taylor Swift', + 'follower_count': 131, + 'description': 'Musician', + 'country': 'United States' + }, + { + 'name': 'Kendall Jenner', + 'follower_count': 127, + 'description': 'Reality TV personality and Model', + 'country': 'United States' + }, + { + 'name': 'Jennifer Lopez', + 'follower_count': 119, + 'description': 'Musician and actress', + 'country': 'United States' + }, + { + 'name': 'Nicki Minaj', + 'follower_count': 113, + 'description': 'Musician', + 'country': 'Trinidad and Tobago' + }, + { + 'name': 'Nike', + 'follower_count': 109, + 'description': 'Sportswear multinational', + 'country': 'United States' + }, + { + 'name': 'Khloé Kardashian', + 'follower_count': 108, + 'description': 'Reality TV personality and businesswoman', + 'country': 'United States' + }, + { + 'name': 'Miley Cyrus', + 'follower_count': 107, + 'description': 'Musician and actress', + 'country': 'United States' + }, + { + 'name': 'Katy Perry', + 'follower_count': 94, + 'description': 'Musician', + 'country': 'United States' + }, + { + 'name': 'Kourtney Kardashian', + 'follower_count': 90, + 'description': 'Reality TV personality', + 'country': 'United States' + }, + { + 'name': 'Kevin Hart', + 'follower_count': 89, + 'description': 'Comedian and actor', + 'country': 'United States' + }, + { + 'name': 'Ellen DeGeneres', + 'follower_count': 87, + 'description': 'Comedian', + 'country': 'United States' + }, + { + 'name': 'Real Madrid CF', + 'follower_count': 86, + 'description': 'Football club', + 'country': 'Spain' + }, + { + 'name': 'FC Barcelona', + 'follower_count': 85, + 'description': 'Football club', + 'country': 'Spain' + }, + { + 'name': 'Rihanna', + 'follower_count': 81, + 'description': 'Musician and businesswoman', + 'country': 'Barbados' + }, + { + 'name': 'Demi Lovato', + 'follower_count': 80, + 'description': 'Musician and actress', + 'country': 'United States' + }, + { + 'name': "Victoria's Secret", + 'follower_count': 69, + 'description': 'Lingerie brand', + 'country': 'United States' + }, + { + 'name': 'Zendaya', + 'follower_count': 68, + 'description': 'Actress and musician', + 'country': 'United States' + }, + { + 'name': 'Shakira', + 'follower_count': 66, + 'description': 'Musician', + 'country': 'Colombia' + }, + { + 'name': 'Drake', + 'follower_count': 65, + 'description': 'Musician', + 'country': 'Canada' + }, + { + 'name': 'Chris Brown', + 'follower_count': 64, + 'description': 'Musician', + 'country': 'United States' + }, + { + 'name': 'LeBron James', + 'follower_count': 63, + 'description': 'Basketball player', + 'country': 'United States' + }, + { + 'name': 'Vin Diesel', + 'follower_count': 62, + 'description': 'Actor', + 'country': 'United States' + }, + { + 'name': 'Cardi B', + 'follower_count': 67, + 'description': 'Musician', + 'country': 'United States' + }, + { + 'name': 'David Beckham', + 'follower_count': 82, + 'description': 'Footballer', + 'country': 'United Kingdom' + }, + { + 'name': 'Billie Eilish', + 'follower_count': 61, + 'description': 'Musician', + 'country': 'United States' + }, + { + 'name': 'Justin Timberlake', + 'follower_count': 59, + 'description': 'Musician and actor', + 'country': 'United States' + }, + { + 'name': 'UEFA Champions League', + 'follower_count': 58, + 'description': 'Club football competition', + 'country': 'Europe' + }, + { + 'name': 'NASA', + 'follower_count': 56, + 'description': 'Space agency', + 'country': 'United States' + }, + { + 'name': 'Emma Watson', + 'follower_count': 56, + 'description': 'Actress', + 'country': 'United Kingdom' + }, + { + 'name': 'Shawn Mendes', + 'follower_count': 57, + 'description': 'Musician', + 'country': 'Canada' + }, + { + 'name': 'Virat Kohli', + 'follower_count': 55, + 'description': 'Cricketer', + 'country': 'India' + }, + { + 'name': 'Gigi Hadid', + 'follower_count': 54, + 'description': 'Model', + 'country': 'United States' + }, + { + 'name': 'Priyanka Chopra Jonas', + 'follower_count': 53, + 'description': 'Actress and musician', + 'country': 'India' + }, + { + 'name': '9GAG', + 'follower_count': 52, + 'description': 'Social media platform', + 'country': 'China' + }, + { + 'name': 'Ronaldinho', + 'follower_count': 51, + 'description': 'Footballer', + 'country': 'Brasil' + }, + { + 'name': 'Maluma', + 'follower_count': 50, + 'description': 'Musician', + 'country': 'Colombia' + }, + { + 'name': 'Camila Cabello', + 'follower_count': 49, + 'description': 'Musician', + 'country': 'Cuba' + }, + { + 'name': 'NBA', + 'follower_count': 47, + 'description': 'Club Basketball Competition', + 'country': 'United States' + } +] diff --git a/014/task.py b/014/task.py new file mode 100644 index 0000000..41ba366 --- /dev/null +++ b/014/task.py @@ -0,0 +1,44 @@ +from game_data import data +import random + +def pick_contender(exception = {}) : + contender = exception + + while contender == exception: + contender = random.choice(data) + + return(contender) + +def get_answer(): + answer = input("Who has more followers? Type 'A' or 'B':") + if answer.lower() not in ["a", "b"]: + print("Invalid option - try again") + return(get_answer()) + return(answer.lower()) + +def run_round(current_contender, score): + if current_contender == {}: + current_contender = pick_contender() + + new_contender = pick_contender(current_contender) + + print(f"Compare A: {current_contender['name']}, a {current_contender['description']}, from {current_contender['country']}") + print(f"Against B: {new_contender['name']}, a {new_contender['description']}, from {new_contender['country']}") + + answer = get_answer() + + if current_contender['follower_count'] > new_contender['follower_count']: + winner = "a" + else: + winner = "b" + + if answer == winner: + score +=1 + print("Correct!") + print(f"Current score: {score}") + run_round(new_contender, score) + else: + print("Wrong!") + print(f"Game over! Your final score: {score}") + +run_round({}, 0)