๊ฐœ๋ฐœ Code/ํŒŒ์ด์ฌ Python

[Python][program] CLI ASCII art ๋ฐœ๋ Œํƒ€์ธ ๋ฉ”์„ธ์ง€ ์“ฐ๊ธฐ

5hr1rnp 2025. 2. 12. 01:37
๋ฐ˜์‘ํ˜•

 

์ฝ”๋“œ ์‹คํ–‰ ๊ฒฐ๊ณผ

 

Python์„ ํ™œ์šฉํ•ด ๋ฐœ๋ Œํƒ€์ธ ๋ฐ์ด์— ์ง์ ‘ ๋งŒ๋“  ASCII ์•„ํŠธ ์นด๋“œ๋ฅผ ํ„ฐ๋ฏธ๋„์—์„œ ์ถœ๋ ฅํ•ด๋ณด๋ฉด ์–ด๋–จ๊นŒ?

 

๋ผ๋Š” ์ƒ๊ฐ์œผ๋กœ ์ž‘์—…์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

 

cowsay๊ฐ€ ๋– ์˜ฌ๋ž๊ณ  ์ด๊ฑธ ํ™œ์šฉํ•ด์„œ ๋งŒ๋“ค์–ด๋ณด๋ฉด ์žฌ๋ฐŒ๊ฒ ๋‹ค ์‹ถ์—ˆ๋‹ค.


ํ•˜ํŠธ๋‚˜ ์นด๋“œ ๋ชจ์–‘์„ ์ถœ๋ ฅํ•˜๊ณ , ์›ํ•˜๋Š” ๋ฌธ๊ตฌ๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ํŠน๋ณ„ํ•œ ๋ฉ”์‹œ์ง€๋ฅผ ๋‚จ๊ธธ ์ˆ˜ ์žˆ๊ฒŒ๋” ์ž‘์—…ํ–ˆ๋‹ค.

 

์ฃผ์š” ํฌ์ธํŠธ:

  • Python์—์„œ ํ…์ŠคํŠธ๋ฅผ ์ž๋™ ์ค„๋ฐ”๊ฟˆํ•ด์ฃผ๋Š” textwrap ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ
  • ASCII ์•„ํŠธ๋ฅผ ๋ฌธ์ž์—ด๋กœ ๊ตฌ์„ฑ
  • ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๋ฐ›์•„์„œ ์นด๋“œ ๋‚ด์šฉ์— ๋ฐ˜์˜

ํ•˜์ง€๋งŒ ํ•œ๊ธ€๋กœ ์ง„ํ–‰ํ•˜๋ ค๋‹ˆ ์ž๋ฆฌ๊ฐ€ ์ž˜ ๋งž์ง€ ์•Š๋Š” ๋ฌธ์ œ๋Š” ๋‚จ๊ฒจ๋‘์—ˆ๋‹ค.

 

์˜์–ด๋กœ ์ž‘์„ฑํ•ด ๋ณด์‹œ๋ผ.

 

728x90
๋ฐ˜์‘ํ˜•
import textwrap


def generate_valentine_card(message):
    # ๋ฉ”์‹œ์ง€๋ฅผ ์ค„๋ฐ”๊ฟˆํ•˜์—ฌ ์ •๋ฆฌ (์ตœ๋Œ€ 15์ž ๊ธฐ์ค€ ์ค„๋ฐ”๊ฟˆ)
    wrapped_message = textwrap.wrap(message, width=15)

    # ๋ฐ•์Šค ํฌ๊ธฐ ๊ณ„์‚ฐ (์ตœ๋Œ€ ๊ธธ์ด ๊ธฐ์ค€)
    max_width = 15
    border = " +" + "-" * (max_width + 2) + "+"

    # ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ•์Šค ์•ˆ์— ์ •๋ ฌ
    message_box = "\n".join(
        [f"    | {line.ljust(max_width)} |" for line in wrapped_message]
    )

    # ASCII ์•„ํŠธ ๋„ค๋ชจ ์นด๋“œ + ๋ฉ”์‹œ์ง€ ๋ฐ•์Šค
    card = (
        "        .:::.       .:::.\n"
        "      :::::::.   :::::::.\n"
        "      ::::::::: ::::::::: \n"
        "      ::::::::::::::::::: \n"
        "       ':::::::::::::::'  \n"
        "         '::::::::::'    \n"
        "           ':::::'       \n"
        '     .-"""-.   .-"""-.   \n'
        "    /       \\ /       \\ \n"
        f"   {border}\n"
        f"{message_box}\n"
        f"   {border}\n"
        "    \\       / \\       /\n"
        "     '-...-'   '-...-'  \n"
    )
    return card


if __name__ == "__main__":
    message = input("Enter your Valentine's message: ")
    print("\n" + generate_valentine_card(message))

 

.py ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•œ ๋’ค python [filename].py ๋กœ ์‹คํ–‰ํ•˜๋ฉด ๋™์ž‘ํ•˜๋Š”๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜์‘ํ˜•