티스토리 뷰

[메인메뉴]

1. 원소기호 추가

2. 원소기호 수정

3. 원소기호 삭제

4. 원소기호 맞추기

5. 종료

 

[서브메뉴]

1번메뉴: 한줄에 [원소이름] [원소기호] 를 입력한다

> 수소 H

 

2번메뉴: 한줄에 [바꿀원소이름] [새로운원소이름] [ 새로운원소기호]

> 수소 수소 H

 

3번메뉴: 한줄에 [삭제할원소이름]

> 수소

 

4번메뉴: 지금까지 입력한 원소리스트 중에 원소 이름을 랜덤으로 출력하면 기호를 맞춘다.

그리고 정답숫자/전제문제 를 출력한다. quit 를 입력하면 플레이 종료

> [수소] 의 원소기호는 무엇입니까?

> H

> 정답입니다. 1/2 정답

> quit

 

5번메뉴: 종료라고 메세지를 출력하고 프로그램을 종료한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

import random


def add(items, key=None, value=None):
    if key is None or value is None:
        cmd = input("입력할 원소 이름과 기호를 입력해 주세요\n").split(" ")
        if len(cmd) == 2:
            key, value = cmd
        else:
            print("잘못된 명령어 입니다.")
    items[key] = value


def remove(items, key=None):
    if key is None:
        cmd = input("삭제할 원소 이름과 기호를 입력해 주세요\n").split(" ")
        if len(cmd) == 1:
            key = cmd[0]
        else:
            print("잘못된 명령어 입니다.")
    if key in items.keys():
        del items[key]
    else:
        print("존재하지 않는 원소 이름입니다.")


def modify(items):
    cmd = input("수정할 원소 이름과 새로운 원소 이름 기호를 입력해 주세요\n").split(" ")
    if len(cmd) == 3:
        old_key, new_key, new_value = cmd
        remove(items, old_key)
        add(items, new_key, new_value)
    else:
        print("잘못된 명령어 입니다.")


def play(items):
    count = 0
    correct = 0
    if items :
        while True:
            key = random.choice(list(items.keys()))
            cmd = input(f"[{key}] 의 원소 기호가 무엇입니까?\n")
            if cmd == "quit":
                break
            else:
                count += 1
                if cmd == items[key]:
                    correct += 1
                    print(f"정답입니다. {correct}/{count}")
                else:
                    print(f"오답입니다. {correct}/{count}")
    else:
        print("저장된 원소기호가 없습니다.")


def main_loop(items):
    funcs = {"1": add, "2": modify, "3": remove, "4": play, "5": exit}
    params = {"1": items, "2": items, "3": items, "4": items, "5": "종료"}
    print(f"원소기호리스트:{items}")
    key = input("1.원소기호입력\n2.원소기호수정\n3.원소기호삭제\n4.원소기호 맞추기\n5.종료\n")
    if key in funcs.keys() and len(key) == 1:
        funcs[key](params[key])
    else:
        print("잘못된 명령어 입니다.")


items = {}
while True:
    main_loop(items)

'python lecture > project' 카테고리의 다른 글

[python] 남/여 균일 매칭  (0) 2020.05.25
[python] # 연산 하기  (0) 2020.05.11
[python] 주문시스템  (0) 2020.05.09
[blockchain] 블록체인 예제  (0) 2020.05.07
[python] 해시의 무결성  (0) 2020.05.07
댓글