import random import time # ========================================== # ACAAN BROWSER PRACTICE # 브라우저 Python 실행기용 # ========================================== SUITS = ["♠", "♥", "♦", "♣"] RANKS = [ "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" ] CARDS = [] for suit in SUITS: for rank in RANKS: CARDS.append(rank + suit) # 숫자 3~27 NUMBERS = list(range(3, 28)) # 가능한 전체 조합 ALL_COMBINATIONS = [ (card, number) for card in CARDS for number in NUMBERS ] # 이미 나온 조합 used = set() # 통계 total = 0 success = 0 failed = 0 def new_question(): global used # 1,300개 전부 사용하면 새 사이클 if len(used) >= len(ALL_COMBINATIONS): used.clear() print() print("================================") print("🎉 1,300개 조합 전부 완료!") print("새로운 사이클을 시작합니다.") print("================================") # 아직 나오지 않은 조합 선택 remaining = [ x for x in ALL_COMBINATIONS if x not in used ] card, number = random.choice(remaining) used.add((card, number)) return card, number def show_question(card, number): print() print("╔══════════════════════════════╗") print("║ 🃏 ACAAN 문제 ║") print("╠══════════════════════════════╣") print(f"║ 카드 : {card:<21}║") print(f"║ 숫자 : {number:<21}║") print("╚══════════════════════════════╝") print() print("👉 이 카드와 숫자로 아칸 루틴을 수행하세요.") def hide_answer(): print() print("╔══════════════════════════════╗") print("║ 🙈 숨김 ║") print("╠══════════════════════════════╣") print("║ 지금부터 실제 루틴을 ║") print("║ 머릿속으로 수행하세요. ║") print("╚══════════════════════════════╝") def show_stats(): print() print("========== 📊 통계 ==========") print("총 연습 :", total) print("성공 :", success) print("실패 :", failed) if total > 0: rate = success / total * 100 print(f"성공률 : {rate:.1f}%") else: print("성공률 : 0%") print() print(f"이번 사이클 : {len(used)} / 1,300") print(f"남은 조합 : {1300 - len(used)}") print("==============================") # ========================================== # 메인 # ========================================== print() print("========================================") print(" ♠ ACAAN PRACTICE TRAINER ♥") print("========================================") print() print("카드 : 52장") print("숫자 : 3~27") print("전체 조합 : 1,300개") print() print("명령어") print(" n = 새로운 문제") print(" h = 문제 숨기기") print(" s = 성공") print(" f = 실패") print(" t = 통계") print(" q = 종료") print() # 첫 문제 current_card, current_number = new_question() show_question( current_card, current_number ) # ========================================== # 반복 # ========================================== while True: print() command = input("명령어 입력 > ").strip().lower() # -------------------------- # 새 문제 # -------------------------- if command == "n": current_card, current_number = new_question() show_question( current_card, current_number ) # -------------------------- # 숨기기 # -------------------------- elif command == "h": hide_answer() # -------------------------- # 성공 # -------------------------- elif command == "s": total += 1 success += 1 print() print("✅ 성공 기록!") show_stats() # -------------------------- # 실패 # -------------------------- elif command == "f": total += 1 failed += 1 print() print("❌ 실패 기록!") show_stats() # -------------------------- # 통계 # -------------------------- elif command == "t": show_stats() # -------------------------- # 종료 # -------------------------- elif command == "q": print() print("ACAAN 연습을 종료합니다.") print("오늘도 연습 화이팅! 🃏🎩") break else: print() print("❓ 알 수 없는 명령입니다.") print() print("n = 새 문제") print("h = 숨기기") print("s = 성공") print("f = 실패") print("t = 통계") print("q = 종료")
Hosted & Compiled with HtmlRunner.com