안녕하세요! 저번주에는 K-MOOC '소프트웨어 설계와 파이썬' 11주차 내용이었던 파이썬 math 라이브러리에 대해 더 자세히 알아봤었는데요.
이번주에는 파이썬을 활용해 가위바위보 게임을 만들어보려고 합니다!
1. 로직
- 사용자에게 가위, 바위, 보 중에서 하나를 입력하도록 함
- 컴퓨터가 랜덤으로 낸 것과 판단해 결과를 출력
2. 구현
- 유저 입력을 받는 함수 : get_user_choice()
def get_user_choice():
print("가위, 바위, 보 중 하나를 선택하세요:")
user_input = input()
if user_input == "가위":
return 1
elif user_input == "바위":
return 2
elif user_input == "보":
return 3
else:
print("올바른 선택이 아닙니다. 다시 선택해주세요.")
return get_user_choice()
- 컴퓨터가 랜덤으로 가위, 바위, 보를 하는 함수 : get_computer_choice()
def get_computer_choice():
return random.randint(1, 3)
- 경기 결과를 판단하는 함수 : determine_winner()
def determine_winner(user_choice, computer_choice):
if user_choice == computer_choice:
return "무승부"
elif (user_choice == 1 and computer_choice == 3) or \
(user_choice == 2 and computer_choice == 1) or \
(user_choice == 3 and computer_choice == 2):
return "당신의 승리!"
else:
return "컴퓨터의 승리!"
main함수까지 합친 전체 코드는 다음과 같습니다.
import random
def get_user_choice():
print("가위, 바위, 보 중 하나를 선택하세요:")
user_input = input()
if user_input == "가위":
return 1
elif user_input == "바위":
return 2
elif user_input == "보":
return 3
else:
print("올바른 선택이 아닙니다. 다시 선택해주세요.")
return get_user_choice()
def get_computer_choice():
return random.randint(1, 3)
def determine_winner(user_choice, computer_choice):
if user_choice == computer_choice:
return "무승부"
elif (user_choice == 1 and computer_choice == 3) or \
(user_choice == 2 and computer_choice == 1) or \
(user_choice == 3 and computer_choice == 2):
return "당신의 승리!"
else:
return "컴퓨터의 승리!"
def main():
print("가위바위보 게임을 시작합니다!")
user_choice = get_user_choice()
computer_choice = get_computer_choice()
print(f"당신의 선택: {user_choice}")
print(f"컴퓨터의 선택: {computer_choice}")
result = determine_winner(user_choice, computer_choice)
print(result)
if __name__ == "__main__":
main()
16주차까지 잘 들으셨나요? 파이썬과 소프트웨어 공학에 대해 많이 알아가는 시간이 되셨으면 좋을 것 같습니다.
가위바위보 게임 말고도 다른 게임이나 프로그램을 직접 만들어보면서 파이썬에 대해 더 깊게 공부해보시는 것도 좋을 것 같습니다.
728x90
'Experience > K-MOOC 서포터즈' 카테고리의 다른 글
[K-MOOC] 경희대 K-MOOC '소프트웨어 설계와 파이썬' (7) <과목 수강 후기> (0) | 2024.03.13 |
---|---|
[K-MOOC] 경희대 K-MOOC '소프트웨어 설계와 파이썬' (5) <파이썬 math 라이브러리 사용법> (0) | 2024.03.06 |
[K-MOOC] 경희대 K-MOOC '소프트웨어 설계와 파이썬' (4) <파이썬 반복문 for, while문> (0) | 2024.02.21 |
[K-MOOC] 경희대 K-MOOC '소프트웨어 설계와 파이썬' (3) <파이썬 연산자> (0) | 2024.02.14 |
[K-MOOC] 경희대 K-MOOC '소프트웨어 설계와 파이썬' (2) <소프트웨어 개발 생명주기> (1) | 2024.02.04 |