|
import gradio as gr |
|
|
|
|
|
questions = ["1. ๋น์ฆ๊ถ์ฑ์ผ๋ก ํ๋จ๋ฐ์ ๋ฒ๋ฅ ์๋ฌธ ๊ฒํ ์๋ฅผ ๋ณด์ ํ๊ณ ์๋์?", |
|
"2. TOP 10 Holder ๋ฐฐ๋ถ์จ์ ์ ํํด์ฃผ์ธ์(TOP 10 Holder)๊ฐ ์ผ๋ง๋ ๋ณด์ ํ๊ณ ์๋์?)", |
|
"3. ํ ํฐ ๋ฐํ์ ํ ์ดํ ์ผ๋ง๋ ์ง๋ฌ์ต๋๊น?", |
|
"4. ํ๋ก์ ํธ ๊ณต์๊ด๋ จ ๊ท์ (or ๋งค๋ด์ผ)์ด ์์ต๋๋ค", |
|
"5. ์์ฒด ์ด์ ์ปค๋ฎค๋ํฐ ํฌํจ ๋ค์ํ ์ฑ๋์ ๊ฐ์ข
์ด์, ๊ณต์ง, ๊ณต์ ๋ฑ ์ค์๊ฐ ๋ฐ์ํ๊ณ ์์ต๋๊น?", |
|
"6. ๋น์ฆ๋์ค ๊ด๋ จ ๋ฒ๋ฅ ์ด์ ํด๊ฒฐ์ ์ํ ์ค๋น์ํ๋ฅผ ์ ํํด ์ฃผ์ธ์. ", |
|
"7. ํ๋ก์ ํธ์์ ์ด์์ค์ธ ์ปค๋ฎค๋ํฐ(์๋น์ค ๊ฐ์
์ ํฌํจ) ์ธ์ ์ด ํฉ์ ์ ํํด ์ฃผ์ธ์. ", |
|
"8. ํ๋ก์ ํธ ํ๋ณด๋ฅผ ์ํ ๋ด์ค, ์ธ๋ก ๋ฑ ๋ฏธ๋์ด ๋
ธ์ถ ์ฌ๋ถ๋ฅผ ์ ํํด ์ฃผ์ธ์", |
|
"9. ๋ฐ์
๋ฑ ๋ง์ผํ
์ค์ ์ ์ ํํด ์ฃผ์ธ์", |
|
"10. ์ด๋๋ฐ์ด์ ๋๋ ํํธ๋์ ์ ๋ฌธ์ฑ ์์ค์ ์ ํํด ์ฃผ์ธ์ ", |
|
"11. ํ๋ก์ ํธ์ ์ฐ๋๋ ์ ์์ง๊ฐ ์๋น์ค๊ฐ ์์ต๋๊น? ", |
|
"12. ๋ฉํฐ์ฒด์ธ ์ง์์ ์ ๋๋ฅผ ์ ํํด์ฃผ์ธ์ ", |
|
"13. GitHub์ ํ๋ก์ ํธ๋ฅผ ๊ณต๊ฐํ๊ณ ํ๋ํ๊ณ ์๋์?", |
|
"14. ํ๋ก์ ํธ์ ๊ด๋ จ๋ ๊ธฐ์ ๋ฐ ๋น์ฆ๋์ค ๊ด๋ จ ํนํ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๊น?", |
|
"15. ๊ธฐ์ ์ธ๋ ฅ(in-house)์ค ๊ด๋ จ ๋ถ๋ถ ๋ฐ์ฌ ๋๋ ๊ธฐ์ ์ ์๊ฒฉ ๋ณด์ ์๊ฐ ์๋์?", |
|
"16. ํ๋ซํผ/์๋น์ค ์ด์ฉ๊ธฐ๊ฐ์ด ์ด๋ป๊ฒ ๋๋์?", |
|
"17. ๋ณด์ ๊ธฐ์ ๊ฐ์ฌ ๊ธฐ๊ด์ ๋ณด์๊ฐ์ฌ์(Audit)๋ฅผ ๋ณด์ ํ๊ณ ์๋์? ", |
|
"18. ๋ณด์๊ฐ์ฌ์๊ฐ ์ธ๋ถ์ ๊ณต๊ฐ๋์ด ์์ต๋๊น? ", |
|
"19. ๋ณด์๋ฉ๋ด์ผ์ ๋ฐ๋ฅธ ์ ๊ธฐ์ ์ธ ์ทจ์ฝ์ ์ ๊ฒ ํ๋์ ํ๊ณ ์์ต๋๊น? ", |
|
"20. ๋ฒ๊ทธ๋ฐ์ดํฐ ์๋น์ค๋ฅผ ํ๊ฑฐ๋ ํ์ฌ ํ๊ณ ์์ต๋๊น? ", |
|
"21. ๊ฐ์ธ์ ๋ณด๋ณดํธ์กฐ์น ์์ค์ ์ ํํด์ฃผ์ธ์ ", |
|
"22. ์ฝ์ธ๋ง์ผ์บก ๋๋ ์ฝ์ธ๊ฒ์ฝ์์ ์กฐํ๋ ์จ์ฒด์ธ ๋ฐ์ดํฐ ์์ด ์์ ์ ํํด์ฃผ์ธ์", |
|
"23. ์์ฅ ๊ฑฐ๋์๊ฐ ์์ ๊ฒฝ์ฐ ์์ฅ๊ฐ ๋๋น ํ์ฌ ์์ธ๋ฅผ ์ ํํด ์ฃผ์ธ์", |
|
"24. ์์ฅ๋์ด ์๋ ๊ฑฐ๋์๋ฅผ ์ ํํด์ฃผ์ธ์", |
|
"25. ์ง๋ 52์ฃผ ๊ธฐ์ค ์จ์ฒด์ธ ์ฑ ํธ์ ํธ๋์ญ์
์ถ์ธ๋ฅผ ์ ํํด์ฃผ์ธ์", |
|
"26. ํ๋ซํผ ์ด์ฉ์ ์ด๋, (ํ๋ซํผ ์ด์ฉ์ ์ + )์จ์ฒด์ธ ํ๋ ์(=์ง๊ฐ์)์ ์ ํํด์ฃผ์ธ์ ", |
|
"27. ๋ก๋๋งต ๋ฐ ํ์คํ ๋ฆฌ ๊ณต๊ฐ ์์ค์ ์ ํํด์ฃผ์ธ์ ", |
|
"28. ๋ก๋๋งต ๋ฌ์ฑ ์์ค์ ์ ํํด์ฃผ์ธ์ ", |
|
"29. ์ฌ๋จ ๋ฐ ์ด์์ฌ(์ง๋ฐฐ๊ตฌ์กฐ ํฌํจ)์ ํํ๋ฅผ ์ ํํด ์ฃผ์ธ์", |
|
"30. ๊ฒฝ์์ง์ ํฌํจํ ํต์ฌ์ธ๋ ฅ์ ์ ๋ฌธ์ฑ ๋๋ ์ํฅ๋ ฅ ์์ค์ ์ ํํด์ฃผ์ธ์ ", |
|
"31. Cash runway(์ฌ๋จ์ ํ๊ธ์ ๋์ฑ ๋๋ ์ฌ๋ฌด๊ฑด์ ์ฑ์ ๊ธฐ์ค์ผ๋ก ์ฌ์
์ง์ ๊ฐ๋ฅ๊ธฐ๊ฐ)๋ ์ด๋ป๊ฒ ๋๋์?", |
|
"32. ํ ํฐ ์ ํต๊ด๋ จ ํฌ์์ ๋ณดํธ๋ฅผ ์ํ ์ค๋น์ํ๋ฅผ ์ ํํด์ฃผ์ธ์." |
|
] |
|
|
|
options = [["๋ค", "์๋์ค"], |
|
["30% ์ดํ", "31~69%์ดํ", "70% ์ด์"], |
|
["2๋
์ด์", "1๋
๋ฏธ๋ง", "6๊ฐ์ ๋ฏธ๋ง"], |
|
["๋ค", "์๋์ค"], |
|
["๋ค", "์๋์ค"], |
|
["์ค๋ฒ๊ด๋ฆฌํ(๋ณํธ์ฌ ๊ณ ์ฉ) ๋ณด์ (์ ํ)", "์ค๋ฒํ๋ก์ธ์ค ๋ฐ ์์ฒด ๋ฉ๋ด์ผ ๋ณด์ ๋๋ ์ ๊ธฐ์ ์ผ๋ก ๋ฒ๋ฅ ์๋ฌธ์ ๋ฐ๊ณ ์์(์ ํ)", "๋ฒ๋ฅ ์๋ฌธ์ ๋ฐ์ ์ด๋ ฅ ์์(์ ํ)", "์์"], |
|
["์ปค๋ฎค๋ํฐ ์ธ์์ ํฉ 5๋ง ์ด์", "์ปค๋ฎค๋ํฐ ์ธ์์ ํฉ 1๋ง ์ด์", "์ปค๋ฎค๋ํฐ ์ธ์์ ํฉ 1์ฒ ์ด์","์ปค๋ฎค๋ํฐ ์ธ์์ ํฉ 1์ฒ ์ดํ"], |
|
["๊ธ๋ก๋ฒ ์์ ์ธ๋ก ๋ฐ ๋ฏธ๋์ด ๋ด์ค์ ๋
ธ์ถ๋์์ต๋๋ค", "๊ตญ๋ด ๋ํ ์ธ๋ก ๋ฐ ๋ฏธ๋์ด ๋ด์ค์ ๋
ธ์ถ๋์์ต๋๋ค", "๊ตญ๋ด ์ค์ํ ์ผ๋ฐ ์ธ๋ก ๋ณด๋์๋ฃ์ ๋
ธ์ถ๋์์ต๋๋ค","๋
ธ์ถ๋์ง ์์ต๋๋ค"], |
|
["์ง์์ ์ด๊ณ ์ ๊ธฐ์ ์ธ ์จ์คํ ๋ง์ผํ
์งํ ","๊ฐํ์ ๋ง์ผํ
์คํ ์์ค: ๋ฐ์
ํฌํจ ์จ์คํ ๋ง์ผํ
์งํ","๋ง์ผํ
์คํ ์ด๋ ฅ์์"], |
|
["๊ธ๋ก๋ฒ ์์ค","๋ก์ปฌ ํ ์์ค","๋ก์ปฌ ์ผ๋ฐ ์์ค"], |
|
["์์ฒด๊ฐ๋ฐํ ์ง๊ฐ์ ๋ณด์ ํ๊ณ ์์ผ๋ฉฐ ์๋น์ค ์ค์
๋๋ค ","์ธ๋ถ๊ฐ๋ฐํ ์ง๊ฐ์ ๋ณด์ ํ๊ณ ์์ผ๋ฉฐ ์๋น์ค ์ค์
๋๋ค ","์ง๊ฐ ์๋น์ค๋ฅผ ํ๊ณ ์์ง ์์ต๋๋ค"], |
|
["๋ณต์(3์ข
์ด์) ์ฒด์ธ์ ์ง์ํ๊ณ ์ง์ API ๋๋ ๋ธ๋ฆฟ์ง๊ฐ ๊ณต๊ฐ๋์ด ์์ต๋๋ค ","๋ณต์(2์ข
์ด์) ์ฒด์ธ์ ์ง์ ๋ฐ ๋ธ๋ฆฟ์ง๊ฐ ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค","๋จ์ผ ์ฒด์ธ๋ง ์ง์ํฉ๋๋ค"], |
|
["๋ค ", "์๋์ค"], |
|
["๋ฑ๋ก ์๋ฃ๋ ํนํ๋ฅผ ๋ณด์ ํ๊ณ ์์ต๋๋ค ","ํนํ๋ฅผ ๋ฐ๋ ์ ์ฐจ๋ฅผ ์งํ์ค์
๋๋ค (์ถ์ ์ค)", "์์"], |
|
["๊ฒฝ๋ ฅ ํ๋กํ ๊ธฐ์ค ๋ฐ์ฌ ๋ฐ ๊ธฐ์ ์ฌ ์๊ฒฉ ์ธ๋ ฅ์ด ์์ต๋๋ค.", "๋ฐ์ฌ๊ธ์ ์๋์ง๋ง ์์ฌ๊ธ ์์ค, ๊ด๋ จ ๊ฒฝ๋ ฅ 10๋
์ด์์ ๊ฒฝ๋ ฅ์๊ฐ ์์ต๋๋ค","๊ด๋ จ๋ถ์ผ ๊ฒฝ๋ ฅ 10๋
๋ฏธ๋ง์ ์ผ๋ฐ์ ์ธ ์์ค์ ๊ฒฝ๋ ฅ์๊ฐ ์์ต๋๋ค"], |
|
["ํ๋ซํผ/์๋น์ค ์ด์ฉ๊ธฐ๊ฐ์ด 1๋
์ด์ ์
๋๋ค ","ํ๋ซํผ/์๋น์ค ์ด์ฉ๊ธฐ๊ฐ์ด 1๋
๋ฏธ๋ง ์
๋๋ค","ํ๋ซํผ/์๋น์ค ์ด์ฉ๊ธฐ๊ฐ์ด 6๊ฐ์ ๋ฏธ๋ง ์
๋๋ค"], |
|
["๊ธ๋ก๋ฒTOP ์์ค.์ฌ๋ก์ฐ๋ฏธ์คํธ/์จํฑ ๋ฑ ์์30% ๊ธฐ๊ด์ ํตํ ํ๊ฐ๋ฅผ ๋ฐ์์ต๋๋ค ","์ผ๋ฐ์์ค์ ๋ณด์๊ฐ์ฌ๊ธฐ๊ด์ ํตํ ํ๊ฐ๋ฅผ ๋ฐ์์ต๋๋ค","๋ณด์๊ฐ์ฌ์๊ฐ ์์ต๋๋ค."], |
|
["๋ณด์๊ฐ์ฌ์
์ฒด ํํ์ด์ง, ์ฝ์ธ๋ง์ผ๊ฐญ ๋ฑ ์ฌ์ดํธ์์ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค ","๊ณต๊ฐ๋์ด ์์ง ์์ต๋๋ค"], |
|
["๋ค ","์๋์ค"], |
|
["๋ค ", "์๋์ค"], |
|
["๋ด๋ถ ์ง์ ์ค CISO ๋ฑ๋ก๋ ์์์ด ์๋ค ","๋ด๋ถ ์ง์ ์ค ๊ฐ์ธ์ ๋ณด๋ณดํธ๋ฅผ ์ํ ๊ด๋ฆฌ์๊ฐ ์๋ค", "์์"], |
|
["์จ์ฒด์ธ ๋ฐ์ดํฐ ์ ๋ํ๋ ์งํ์์ ์์ด์์ 500์ ์ด๋ด์ธ๊ฐ?(์ ํ) ","์จ์ฒด์ธ ๋ฐ์ดํฐ ์ ๋ํ๋์ ๋ํ๋ ์งํ์์ ์์ด์์ 500์ ์ด์ 1,000์ ๋ฏธ๋ง์ธ๊ฐ?(์ ํ)","์จ์ฒด์ธ ๋ฐ์ดํฐ ์ ๋ํ๋ ์งํ์์ ์์ด์์ 1,000์ ์ด์ 5,000์ ๋ฏธ๋ง์ธ๊ฐ?(์ ํ)","์จ์ฒด์ธ ๋ฐ์ดํฐ ์ ๋ํ๋ ์งํ์์ ์์ด์์ 5,000์ ์ด๊ณผ(๋๋ ๋ฏธํ์)์ธ๊ฐ?(์ ํ)","์ฝ์ธ๋ง์ผ๊ฐญ, ์ฝ์ธ๊ฒ์ฝ ์ธ ๋ค๋ฅธ ๊ณณ(DEX ํฌํจ)์์ ์จ์ฒด์ธ ๋ฐ์ดํฐ ์์ด ์์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค","์์"], |
|
["์์ฅ๊ฐ ๊ธฐ์ค 31% ์ด์ ์์น ์ ์ง(๊ฑฐ๋์๋ณต์์ ์ต๋๊ฑฐ๋๋ ๊ฑฐ๋์ ๊ธฐ์ค) ","์์ฅ๊ฐ ๊ธฐ์ค -30~+30% ์ ์ง(๊ฑฐ๋์๋ณต์์ ์ต๋๊ฑฐ๋๋ ๊ฑฐ๋์ ๊ธฐ์ค)","์์ฅ๊ฐ ๊ธฐ์ค -31% ์ด์ ํ๋ฝ(๊ฑฐ๋์๋ณต์์ ์ต๋๊ฑฐ๋๋ ๊ฑฐ๋์ ๊ธฐ์ค)"], |
|
["์ ๋ฌผ/์๊ตฌ ๋ง์ผ์ ๋ฑ๋ก๋์ด ์์ต๋๋ค ","FIAT ๋ง์ผ(1๊ฐ ๊ธฐ์ค) ํฌํจ 10๊ฐ ๋ฏธ๋ง์ ํ๋ฌผ ๋ง์ผ์ ๋ฑ๋ก๋์ด ์์ต๋๋ค","์ค์ํ ๊ฑฐ๋์์ ๋ฑ๋ก๋์ด ์์ต๋๋ค","DEX ๊ฑฐ๋์์ ๋ฑ๋ก๋์ด ์์ต๋๋ค"], |
|
["์ง๋ 52์ฃผ๊ฐ ์์น์ถ์ธ์ ํ๋ฆ์ ๋ณด์ด๊ณ ์์ต๋๋ค ","์ง๋ 52์ฃผ๊ฐ ์ผ์ ํ ์์ค์ ํ๋ฆ์ ๋ณด์ด๊ณ ์์ต๋๋ค","์ง๋ 52์ฃผ๊ฐ ํ๋ฝ์ถ์ธ์ ํ๋ฆ์ ๋ณด์ด๊ณ ์์ต๋๋ค"], |
|
["100,000 ์ด์์
๋๋ค ","50,000 ์ด์ 100,000 ๋ฏธ๋ง์
๋๋ค","10,000 ์ด์ 50,000 ๋ฏธ๋ง์
๋๋ค","1,000 ์ด์ 10,000๋ช
๋ฏธ๋ง์
๋๋ค","1,000 ๋ฏธ๋ง์
๋๋ค"], |
|
["์ฝ์ธ๋ง์ผ์บก ๋๋ ์ฝ์ธ๊ฒ์ฝ ๋ฑ์ ๊ณต๊ฐํ๊ณ ์์ต๋๋ค ","์์ฒด์ปค๋ฎค๋ํฐ์ ํ์คํ ๋ฆฌ๋ฅผ ๊ณต๊ฐํ๊ณ ์์ต๋๋ค","ํํ์ด์ง ๋๋ ๋ฐฑ์์์๋ง ํ์คํ ๋ฆฌ๋ฅผ ๊ณต๊ฐํ๊ณ ์์ต๋๋ค"], |
|
["๋ง์ผ์คํค ๋ฌ์ฑ 70% ์ด์์ ๋ฌ์ฑ ์ค์
๋๋ค ","๋ง์ผ์คํค ๋ฌ์ฑ 20% ์ด์ 70% ๋ฏธ๋ง์ ๋ฌ์ฑ ์ค์
๋๋ค","๋ง์ผ์คํค ๋ฌ์ฑ 20% ๋ฏธ๋ง์ ๋ฌ์ฑ ์ค์
๋๋ค"], |
|
["์ฌ๋จ ๋ฐ ์ด์ฉ์ฌ(์ง๋ฐฐ๊ตฌ์กฐ ํฌํจ)์ด IPO(์์ฅ) ๋ฒ์ธ ","์ฌ๋จ ๋ฐ ์ด์ฉ์ฌ(์ง๋ฐฐ๊ตฌ์กฐ ํฌํจ)์ด ์ธ๊ฐ ๋๋ ๋ฒ๋ฅ ๋ฑ๋ก(์, ์ ์๊ธ์ต์
์, VASP ๋ฑ)๋ฒ์ธ","์ฌ๋จ ๋ฐ ์ด์ฉ์ฌ(์ง๋ฐฐ๊ตฌ์กฐ ํฌํจ)์ด ์ผ๋ฐ ๋ฒ์ธ"], |
|
["๊ธ๋ก๋ฒ ์์ค์ ๋ฐ์ด๋ ์ ๋ฌธ์ฑ๊ณผ ์ํฅ๋ ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค ","๋ก์ปฌ ์์ค์ ์ ๋ฌธ์ฑ๊ณผ ์ํฅ๋ ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค"], |
|
["1๋
์ด์ ","1๋
์ด๋ด","6๊ฐ์ ์ด๋ด"], |
|
["์ธ๋ถ ์์น(์ปค์คํฐ๋) ์ ์ฉ & ์ฌ๋จ ๋ฝ์
์คํ
์ดํน & ๋น
ํ๋ ๋ฝ์
์คํ
์ดํน", "์ฌ๋จ ๋ฝ์
& ๋น
ํ๋ ๋ฝ์
์คํ
์ดํน์ ํ๊ณ ์์ต๋๋ค", "์ฌ๋จ ๋ฝ์
๋๋ ๋น
ํ๋ ๋ฝ์
์คํ
์ดํน๋ฏผ ํ๊ณ ์์ต๋๋ค", "ํด๋น์ฌํญ ์์ต๋๋ค"] |
|
] |
|
|
|
|
|
scores = [[1, 0], |
|
[3, 2, 1], |
|
[2, 1.5, 1], |
|
[1, 0], |
|
[1, 0], |
|
[3, 2, 1, 0], |
|
[3, 2, 1, 0], |
|
[3, 2, 1, 0], |
|
[2, 1, 0], |
|
[3, 2, 1], |
|
[2, 1, 0], |
|
[3, 2, 1], |
|
[1, 0], |
|
[2, 1, 0], |
|
[3, 2, 1], |
|
[2, 1, 0], |
|
[2, 1, 0], |
|
[1, 0], |
|
[1, 0], |
|
[1, 0], |
|
[2, 1, 0], |
|
[3, 2.5, 2, 1.5, 1, 0], |
|
[3, 2, 1], |
|
[4, 3, 2, 1], |
|
[1, 0.5, 0], |
|
[5, 4, 3, 2, 1], |
|
[1.5, 1, 0.5], |
|
[1.5, 1, 0.5], |
|
[3, 2, 1], |
|
[2, 1], |
|
[3, 2, 1], |
|
[3, 2, 1, 0] |
|
] |
|
|
|
def calculate_score(*answers): |
|
total_score = sum([scores[i][options[i].index(answer)] for i, answer in enumerate(answers)]) |
|
grade, definition = get_grade(total_score) |
|
return total_score, grade, definition |
|
|
|
|
|
def get_grade(total_score): |
|
converted_score = (total_score) |
|
|
|
grades = { |
|
'A': (65.7, 73, "๋ฑ๊ธ์ ์๏ผ ๋งค์ฐ ์ํธํ ํ๋ก์ ํธ ์ํ ์ญ๋๊ณผ ์งํ์ ๋ณด์ด๊ณ ์์ผ๋ฉฐ ํฅํ ๋ฐ์ ๊ฐ๋ฅ์ฑ๊ณผ ์ง์์ฑ ์ญ์ ๋์ ๊ฒ์ผ๋ก ํ๊ฐ๋ฉ๋๋ค.๋์ธ์ ์ธ ํ๊ฒฝ ๋ณํ์๋ ์ ์ฐํ ๋์๊ณผ ๋ณต์๋ ฅ์ ๋ณด์ ํ๊ณ ์๋ ๊ฒ์ผ๋ก ํ๋จ๋ฉ๋๋ค."), |
|
'B': (51.1, 65.6, "๋ฑ๊ธ์ ์๏ผ ํ๋ก์ ํธ ์ํ ์ญ๋๊ณผ ์งํ์ด ์
๊ณ ํ๊ท ์์ค์ผ๋ก ๋ชฉํ๋ฌ์ฑ ๋ฅ๋ ฅ์ด ์๊ณ ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅ์ด ์๋ ๊ฒ์ผ๋ก ํ๋จ๋ฉ๋๋ค. ์ ์ ํ ์ด๋๋ฐ์ด์ ์ ์ญ๋ ์กฐ์ฑ์ ๊ฐํํ๋ค๋ฉด ๋ณด๋ค ๋ฐ์ ์ ์ธ ์ํฉ์ผ๋ก ํ๋ก์ ํธ ์ํ์ด ๊ฐ๋ฅํ ๊ฒ์ผ๋ก ํ๋จ๋ฉ๋๋ค."), |
|
'C': (29.2, 51, "๋ฑ๊ธ์ ์๏ผ ํ๋ก์ ํธ์ ๊ธฐ์ ์ ํ๋น์ฑ ๋ฐ ๋น์ฆ๋์ค ๋ชจ๋ธํ๊ฐ์์ ๋ฏธํกํ ํจ์๊ฐ ์กด์ฌํฉ๋๋ค. ํ์ฌ ํ๋ก์ ํธ ์ํ์ ๊ฐ๋ฅํ๋ ์ํ์ฑ์ด ์กด์ฌํฉ๋๋ค. ๋ถ์กฑํ ๋ถ๋ถ์ ๋ํ ๋ณด์๊ณผ ์ปจ์คํ
์ด ํ์ํฉ๋๋ค."), |
|
'D': (21.9, 29.1, "๋ฑ๊ธ์ ์๏ผ ํ๋ก์ ํธ์ ์์์ ๊ฐ๋ฅํ๋ ์ฌ๋ฌ ์ํ ์์๊ฐ ์ฐ์ฌ๋์ด ์๊ธฐ์ ์ํ์ด ์ฌ์ค์ ๋ถ๊ฐ๋ฅํ ์์ค์ผ๋ก ํ๋จ๋ฉ๋๋ค. ๋ณด๋ค ๊ทผ๋ณธ์ ์ธ ๊ฒํ ๊ฐ ํ์ํ ๊ฒ์ผ๋ก ํ๋จ๋ฉ๋๋ค. ์์ฅ์ ์ํ ์ปจ์คํ
์ด ๋ฐ๋์ ํ์ํฉ๋๋ค."), |
|
'F': (0, 21.8, "๋ฑ๊ธ์ ์๏ผ ํ๋ก์ ํธ์ ์์์ ๊ฐ๋ฅํ๋ ์ฌ๋ฌ ์ํ ์์๊ฐ ์ฐ์ฌ๋์ด ์๊ธฐ์ ์ํ์ด ์ฌ์ค์ ๋ถ๊ฐ๋ฅํ ์์ค์ผ๋ก ํ๋จ๋ฉ๋๋ค. ๋ณด๋ค ๊ทผ๋ณธ์ ์ธ ๊ฒํ ๊ฐ ํ์ํ ๊ฒ์ผ๋ก ํ๋จ๋ฉ๋๋ค. ์์ฅ์ ์ํ ์ปจ์คํ
์ด ๋ฐ๋์ ํ์ํฉ๋๋ค.") |
|
} |
|
|
|
for grade, (low, high, definition) in grades.items(): |
|
if low <= converted_score <= high: |
|
return grade, definition |
|
return "No Grade", "" |
|
|
|
|
|
|
|
css = """ |
|
footer { |
|
visibility: hidden; |
|
} |
|
|
|
/* ๋ฒํผ ์คํ์ผ๋ง */ |
|
button { |
|
background: linear-gradient(135deg, #007BFF, #004085); |
|
border: none; |
|
color: white; |
|
padding: 10px 20px; |
|
text-align: center; |
|
display: inline-block; |
|
font-size: 16px; |
|
border-radius: 5px; |
|
cursor: pointer; |
|
transition: background 0.5s ease; |
|
} |
|
|
|
button:hover { |
|
background: linear-gradient(135deg, #0056b3, #002752); |
|
} |
|
|
|
|
|
|
|
/* ํญ ์๊น ๋ณ๊ฒฝ์ ์ํ CSS */ |
|
/* ํญ ๋ฒํผ ์คํ์ผ */ |
|
.tab-container .tab { |
|
background-color: #f0f0f0; /* ์ฐํ ํ์์ผ๋ก ๋ฐฐ๊ฒฝ์ ๋ณ๊ฒฝ */ |
|
color: #333; /* ๊ธ์์ ๋ณ๊ฒฝ */ |
|
} |
|
|
|
/* ์ ํ๋ ํญ ์คํ์ผ */ |
|
.tab-container .tab.selected { |
|
background-color: #d9d9d9; /* ์ ํ๋ ํญ์ ๋ฐฐ๊ฒฝ์์ ๋ ์ด๋์ด ํ์์ผ๋ก ๋ณ๊ฒฝ */ |
|
color: #000; /* ์ ํ๋ ํญ์ ๊ธ์์์ ๊ฒ์ ์์ผ๋ก ๋ณ๊ฒฝ */ |
|
border-bottom: 2px solid #007BFF; /* ์ ํ๋ ํญ์ ํ๋จ ํ
๋๋ฆฌ ์คํ์ผ */ |
|
} |
|
|
|
/* ํญ ์ปจํ
์ธ ์์ญ ์คํ์ผ */ |
|
.tab-content { |
|
border: 1px solid #dcdcdc; /* ํญ ์ปจํ
์ธ ์์ญ์ ํ
๋๋ฆฌ ์์ */ |
|
background-color: #f9f9f9; /* ํญ ์ปจํ
์ธ ์์ญ์ ๋ฐฐ๊ฒฝ์ */ |
|
} |
|
|
|
/* ์
๋ ฅ ํผ ๋ฐ ์ถ๋ ฅ ํผ ์คํ์ผ๋ง */ |
|
.input, .output { |
|
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2); /* ์
์ฒด๊ฐ์ ์ฃผ๋ ๊ทธ๋ฆผ์ ์ถ๊ฐ */ |
|
border: 2px solid #17a2b8; /* ์ปฌ๋ฌ ํ
๋๋ฆฌ ์ ์ฉ */ |
|
border-radius: 5px; /* ํ
๋๋ฆฌ ๋ฅ๊ธ๊ฒ */ |
|
} |
|
|
|
.input:hover, .output:hover { |
|
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2); /* ํธ๋ฒ ์ ๋ ํฐ ๊ทธ๋ฆผ์ ํจ๊ณผ */ |
|
} |
|
|
|
/* ํ์ดํ๊ณผ ์ค๋ช
๊ธ ๊ฐ์ด๋ฐ ์ ๋ ฌ ์ถ๊ฐ */ |
|
.markdown { |
|
text-align: center; /* ํ
์คํธ๋ฅผ ๊ฐ์ด๋ฐ ์ ๋ ฌ */ |
|
|
|
} |
|
/* ๊ฒฐ๊ณผ ์ถ๋ ฅ ์ปดํฌ๋ํธ์ ๊ธ์ ํฌ๊ธฐ 3๋ฐฐ๋ก ์กฐ์ */ |
|
.output { |
|
font-size: 300%; /* ๊ธฐ๋ณธ ๊ธ์ ํฌ๊ธฐ์ 2๋ฐฐ */ |
|
} |
|
|
|
/* ํญ ํด๋ฆญ ์ ๋๋ฆฐ ํญ์ ์ ์ฉ๋ ์คํ์ผ */ |
|
.tab_button.selected { |
|
background-color: #007BFF; /* ์ ํ๋ ํญ์ ๋ฐฐ๊ฒฝ์์ ๋ณ๊ฒฝ */ |
|
color: white; /* ์ ํ๋ ํญ์ ๊ธ์์์ ๋ณ๊ฒฝ */ |
|
border-bottom: 2px solid #007BFF; /* ์ ํ๋ ํญ ํ๋จ์ ํ
๋๋ฆฌ ์ถ๊ฐ */ |
|
} |
|
""" |
|
|
|
|
|
with gr.Blocks(css=css) as demo: |
|
gr.Markdown("# ์ฝ๋ ์ดํ
(KORating) ์
ํ ์ง๋จ ์๋น์ค", elem_id="title") |
|
gr.Markdown("### ๋์งํธ์์ฐ ์ธ์ฆํ๊ฐ์ ๋ฆฌ๋ '์ฝ๋ ์ดํ
'(KORating) ์
ํ ์ง๋จ ์๋น์ค๋, ํฌ์์ ๋ณดํธ ๋ฐ ๊ฑด์ ํ ๊ฐ์์์ฐ ์ํ๊ณ ๊ตฌ์ถ์ ์ง์ํฉ๋๋ค.", elem_id="description1") |
|
gr.Markdown("### ๊ธฐ๋ณธ ์ ๋ณด ์
๋ ฅ ํ ์ด 8๋จ๊ณ TAP(1๋จ๊ณ ~ ์ต์ข
8๋จ๊ณ๊น์ง) ํด๋ฆญ ํ ์
๋ ฅ ๋ฐ๋๋๋ค.", elem_id="description2") |
|
|
|
|
|
with gr.Tab("์ง๋จ ๊ธฐ๋ณธ ์ ๋ณด ์
๋ ฅ"): |
|
project_name = gr.Textbox(label="ํ๋ก์ ํธ๋ช
") |
|
contact_name = gr.Textbox(label="๋ด๋น์ ์ฑ๋ช
") |
|
contact_phone = gr.Textbox(label="์ฐ๋ฝ์ฒ") |
|
contact_email = gr.Textbox(label="์ด๋ฉ์ผ ์ฃผ์") |
|
|
|
with gr.Tab("1๋จ๊ณ"): |
|
answer1 = gr.Radio(choices=options[0], label=questions[0]) |
|
answer2 = gr.Radio(choices=options[1], label=questions[1]) |
|
answer3 = gr.Radio(choices=options[2], label=questions[2]) |
|
answer4 = gr.Radio(choices=options[3], label=questions[3]) |
|
with gr.Tab("2๋จ๊ณ"): |
|
answer5 = gr.Radio(choices=options[4], label=questions[4]) |
|
answer6 = gr.Radio(choices=options[5], label=questions[5]) |
|
answer7 = gr.Radio(choices=options[6], label=questions[6]) |
|
answer8 = gr.Radio(choices=options[7], label=questions[7]) |
|
with gr.Tab("3๋จ๊ณ"): |
|
answer9 = gr.Radio(choices=options[8], label=questions[8]) |
|
answer10 = gr.Radio(choices=options[9], label=questions[9]) |
|
answer11 = gr.Radio(choices=options[10], label=questions[10]) |
|
answer12 = gr.Radio(choices=options[11], label=questions[11]) |
|
with gr.Tab("4๋จ๊ณ"): |
|
answer13 = gr.Radio(choices=options[12], label=questions[12]) |
|
answer14 = gr.Radio(choices=options[13], label=questions[13]) |
|
answer15 = gr.Radio(choices=options[14], label=questions[14]) |
|
answer16 = gr.Radio(choices=options[15], label=questions[15]) |
|
with gr.Tab("5๋จ๊ณ"): |
|
answer17 = gr.Radio(choices=options[16], label=questions[16]) |
|
answer18 = gr.Radio(choices=options[17], label=questions[17]) |
|
answer19 = gr.Radio(choices=options[18], label=questions[18]) |
|
answer20 = gr.Radio(choices=options[19], label=questions[19]) |
|
with gr.Tab("6๋จ๊ณ"): |
|
answer21 = gr.Radio(choices=options[20], label=questions[20]) |
|
answer22 = gr.Radio(choices=options[21], label=questions[21]) |
|
answer23 = gr.Radio(choices=options[22], label=questions[22]) |
|
answer24 = gr.Radio(choices=options[23], label=questions[23]) |
|
with gr.Tab("7๋จ๊ณ"): |
|
answer25 = gr.Radio(choices=options[24], label=questions[24]) |
|
answer26 = gr.Radio(choices=options[25], label=questions[25]) |
|
answer27 = gr.Radio(choices=options[26], label=questions[26]) |
|
answer28 = gr.Radio(choices=options[27], label=questions[27]) |
|
with gr.Tab("8๋จ๊ณ/ ์ต์ข
"): |
|
answer29 = gr.Radio(choices=options[28], label=questions[28]) |
|
answer30 = gr.Radio(choices=options[29], label=questions[29]) |
|
answer31 = gr.Radio(choices=options[30], label=questions[30]) |
|
answer32 = gr.Radio(choices=options[31], label=questions[31]) |
|
|
|
|
|
submit_btn = gr.Button("๋ชจ๋ ์
๋ ฅ ์๋ฃํ ์ ์ถ ๋ฒํผ ํด๋ฆญ") |
|
score_output = gr.Number(label="์ด์ (73์ ๋ง์ )") |
|
grade_output = gr.Text(label="๋ฑ๊ธ") |
|
definition_output = gr.Textbox(label="๋ฑ๊ธ ์ ์") |
|
|
|
submit_btn.click( |
|
fn=calculate_score, |
|
inputs=[answer1, answer2, answer3, answer4, answer5, answer6, answer7, answer8, answer9, answer10, answer11, answer12, answer13, answer14, answer15, answer16, answer17, answer18, answer19, answer20, answer21, answer22, answer23, answer24, answer25, answer26, answer27, answer28, answer29, answer30, answer31, answer32], |
|
outputs=[score_output, grade_output, definition_output] |
|
) |
|
|
|
demo.launch() |
|
|
|
|