티스토리 뷰
[메인메뉴]
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 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Python
- PuTTYGen
- 파이썬 강좌
- 면접답변
- chatbot
- gitignore
- gitlab
- GIT
- 엑셀 비교
- virtualenv
- 문서 비교
- django chatbot
- Tistory
- 모바일 테마 적용
- 면접정답
- 파이썬
- 파이썬 입문
- 장고 플러스친구 자동응답
- 이미지 비교
- django
- wsgi
- pycrypto
- 파이썬 프로그래밍
- 장고
- admin.py
- 플러스친구 자동응답
- 문과 코딩
- 장고 카톡 자동응답
- 파이썬 독학
- 모바일 스킨 적용
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함