본문 바로가기

Python 🎧

[python] up&down/higher&lower 게임 - 리스트/배열

🐼 up&down 게임

# 업앤다운 게임
import random

# 멋 살짝 추가 - 참조 : http://patorjk.com/software/taag

print("""                                                    _
                                                   | |
   __ _ _   _  ___  ___ ___   _ __  _   _ _ __ ___ | |__   ___ _ __
  / _` | | | |/ _ \/ __/ __| | '_ \| | | | '_ ` _ \| '_ \ / _ \ '__|
 | (_| | |_| |  __/\__ \__ \ | | | | |_| | | | | | | |_) |  __/ |
  \__, |\__,_|\___||___/___/ |_| |_|\__,_|_| |_| |_|_.__/ \___|_|
   __/ |
  |___/                                                            """)


def game_start(lv) :
  if lv == 'easy' :
    chance = 10
  elif lv == 'hard' :
    chance = 5
  else :
    chance = 0

  print(f"기회 : {chance} 번 ")
  sol = random.randint(1,100)

  for i in range(0,chance) :
    ans = int(input("숫자를 맞추시오 : "))
    if ans == sol :
      print("정답 - !")
      return sol
    elif ans > sol :
      print("down")
    else :
      print("up")

  print("실패 - !")
  return sol




level = input("레벨을 고르시오(easy/hard) : ")
print(f"정답 : {game_start(level)}")


실행결과


🐼 higher&lower 게임

main.py

import art
import game_data
import random

# 로고 출력 - 개깐지 포인트
print(art.logo)

def game_start() :
    game_continue = True
    index1 = random.randint(0,len(game_data.data)-1)
    print(f"1번 : {game_data.data[index1]["name"]}")
    ans1 = game_data.data[index1]["follower_count"]

    win = -1

    while game_continue :
        index2 = random.randint(0,len(game_data.data)-1)
        print(f"2번 : {game_data.data[index2]["name"]}")
        ans2 = game_data.data[index2]["follower_count"]

        print(f"1.{game_data.data[index1]["name"]} vs 2.{game_data.data[index2]["name"]}")
        chosen = input("누가 더 팔로워 수가 높을까?(1/2) : ")

        if chosen == "1" :
            if ans2 > ans1 :
                game_continue = False
        if chosen == "2" :
            if ans1 > ans2 :
                game_continue = False
            index1 = index2
            ans1 = ans2

        win +=1

    print(f"이긴 횟수 : {win}")

game_start()


art.py

logo = """
 __    __   __    _______  __    __   _______ .______        
|  |  |  | |  |  /  _____||  |  |  | |   ____||   _  \       
|  |__|  | |  | |  |  __  |  |__|  | |  |__   |  |_)  |      
|   __   | |  | |  | |_ | |   __   | |   __|  |      /       
|  |  |  | |  | |  |__| | |  |  |  | |  |____ |  |\  \----.  
|__|  |__| |__|  \______| |__|  |__| |_______|| _| `._____|                                                              
 __        ______   ____    __    ____  _______ .______      
|  |      /  __  \  \   \  /  \  /   / |   ____||   _  \     
|  |     |  |  |  |  \   \/    \/   /  |  |__   |  |_)  |    
|  |     |  |  |  |   \            /   |   __|  |      /     
|  `----.|  `--'  |    \    /\    /    |  |____ |  |\  \----.
|_______| \______/      \__/  \__/     |_______|| _| `._____|
                                                             
"""


game_data.py

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'
    }
]


실행 결과