Last active
December 22, 2021 13:49
-
-
Save Jithender5913/86021e693c4345c338506872b5a57ef9 to your computer and use it in GitHub Desktop.
Higher Lower game project using python
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# step 1 - import logos and random | |
import random | |
logo = """ | |
__ ___ __ | |
/ / / (_)___ _/ /_ ___ _____ | |
/ /_/ / / __ `/ __ \/ _ \/ ___/ | |
/ __ / / /_/ / / / / __/ / | |
/_/ ///_/\__, /_/ /_/\___/_/ | |
/ / /____/_ _____ _____ | |
/ / / __ \ | /| / / _ \/ ___/ | |
/ /___/ /_/ / |/ |/ / __/ / | |
/_____/\____/|__/|__/\___/_/ | |
""" | |
vs = """ | |
_ __ | |
| | / /____ | |
| | / / ___/ | |
| |/ (__ ) | |
|___/____(_) | |
""" | |
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' | |
} | |
] | |
# step 2 - generate random data | |
def get_random_account(): | |
return random.choice(data) | |
def format_data(account): | |
"""Format account into printable format: name, description and country""" | |
name = account["name"] | |
description = account["description"] | |
country = account["country"] | |
return f"{name}, {description}, from {country}" | |
# step 3 - check if the answer is right and give feedback to the user. | |
def check_answer(guess, a_follower_count, b_follower_count): | |
""" Checks followers against user's guess and returns True if they got it right. | |
Or False if they got it wrong.""" | |
if a_follower_count > b_follower_count: | |
return guess == 'a' | |
else: | |
return guess == 'b' | |
# step 4 - move the B's position to A’s place if the answer is right | |
# step 5 repeat the process & keep counting the score. | |
score = 0 | |
game_should_continue = True | |
account_a = get_random_account() | |
account_b = get_random_account() | |
while game_should_continue: | |
account_a = account_b | |
account_b = get_random_account() | |
while account_a == account_b: | |
account_b = get_random_account() | |
print(logo) | |
print(f"compare A: {format_data(account_a)}") | |
print(vs) | |
print(f"against B: {format_data(account_b)}") | |
guess = input("who has more followers? type A or B: ").lower() | |
a_follower_count = account_a["follower_count"] | |
b_follower_count = account_b["follower_count"] | |
is_correct = check_answer(guess, a_follower_count, b_follower_count) | |
if is_correct: | |
score += 1 | |
print(f'You are correct! Current_score: {score}') | |
else: | |
game_should_continue = False | |
print("you are wrong! game over") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment