Skip to content

Instantly share code, notes, and snippets.

@Jithender5913
Last active December 22, 2021 13:49
Show Gist options
  • Save Jithender5913/86021e693c4345c338506872b5a57ef9 to your computer and use it in GitHub Desktop.
Save Jithender5913/86021e693c4345c338506872b5a57ef9 to your computer and use it in GitHub Desktop.
Higher Lower game project using python
# 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