
Python์ ํ์ฉํด ๋ฐ๋ ํ์ธ ๋ฐ์ด์ ์ง์ ๋ง๋ ASCII ์ํธ ์นด๋๋ฅผ ํฐ๋ฏธ๋์์ ์ถ๋ ฅํด๋ณด๋ฉด ์ด๋จ๊น?
๋ผ๋ ์๊ฐ์ผ๋ก ์์ ์ ์งํํ๋ค.
cowsay๊ฐ ๋ ์ฌ๋๊ณ ์ด๊ฑธ ํ์ฉํด์ ๋ง๋ค์ด๋ณด๋ฉด ์ฌ๋ฐ๊ฒ ๋ค ์ถ์๋ค.
ํํธ๋ ์นด๋ ๋ชจ์์ ์ถ๋ ฅํ๊ณ , ์ํ๋ ๋ฌธ๊ตฌ๋ฅผ ์
๋ ฅ๋ฐ์ ํน๋ณํ ๋ฉ์์ง๋ฅผ ๋จ๊ธธ ์ ์๊ฒ๋ ์์
ํ๋ค.
์ฃผ์ ํฌ์ธํธ:
- Python์์ ํ ์คํธ๋ฅผ ์๋ ์ค๋ฐ๊ฟํด์ฃผ๋ textwrap ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ
- ASCII ์ํธ๋ฅผ ๋ฌธ์์ด๋ก ๊ตฌ์ฑ
- ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ฐ์์ ์นด๋ ๋ด์ฉ์ ๋ฐ์
ํ์ง๋ง ํ๊ธ๋ก ์งํํ๋ ค๋ ์๋ฆฌ๊ฐ ์ ๋ง์ง ์๋ ๋ฌธ์ ๋ ๋จ๊ฒจ๋์๋ค.
์์ด๋ก ์์ฑํด ๋ณด์๋ผ.
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 ๋ก ์คํํ๋ฉด ๋์ํ๋๊ฒ์ ํ์ธํ ์ ์๋ค.
'๊ฐ๋ฐ Code > ํ์ด์ฌ Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python][pandas] Sorting Data - sort (0) | 2025.02.13 |
---|---|
[Python][pandas] Loading Data - Excel (0) | 2025.02.13 |
[Python][pandas] Loading Data - CSV (0) | 2025.02.11 |
[Python][pandas] Exploring pandas in Depth (0) | 2025.02.11 |
[Python][numpy] Numpy๋ก ํจ์จ์ ์ธ ๋ฐ์ดํฐ ์ํ๋ง ๋ฐ ๋์ ์์ฑ (0) | 2025.02.09 |