[Python기초]module 연습

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!


파이썬 module 연습문제



문제 : 가위바위보 게임 모듈을 생성해 모듈을 불러와 게임을 실행하는 파일을 만들어 함수를 실행시켜보시오.

조건

1. modules 디렉토리 생성

2. 가위바위보 게임 모듈 gbbGame.py 파일 작성

1) modules 디렉토리에 생성한다.

2) 가위바위보 게임 함수 gbb_game() 을 정의한다.

gbb_game(you_n)

  • 게임 규칙 : 가위는 1, 바위는 2, 보는 3으로 하고, COM과 YOU의 숫자 차이를 기준으로 오른쪽과 같은 경우 COM이 이긴다.
  • COM 숫자는 랜덤으로 1~3사이의 숫자 중 하나를 생성하고, 전달받은 you_n 숫자와 비교하여 게임 결과를 출력
  • [게임결과] ‘컴퓨터가 이겼습니다.’, ‘비겼습니다.’, ‘당신이 이겼습니다.’ 중 한 가지

3) gbb_game()를 호출하여 게임을 하는 함수 input_num() 을 정의한다.

input_num()

  • YOU의 숫자를 키보드로 입력받은 후 gbb_game() 함수에 YOU 숫자를 전달하여 게임을 한다.

3. 가위바위보 게임을 진행하는 module_practice.py 파일 작성

  1. module 디렉토리의 상위 디렉토리에 생성한다.
  2. gbb_game 모듈을 참조하고, 게임을 수행하는 함수 main()을 작성한다.
    • gbb_game 모듈의 input_num() 함수를 호출한다.
  3. 이 파일을 단독으로 수행할 경우 main() 함수를 호출하여 게임을 진행하도록 __name__ 변수를 이용하여 코드를 작성한다.

출력 예시

image

풀이

1. modules 디렉토리 생성

나의 경우에는 Python 공부를 하고 있는 pythonStudy/Day8/에 module 디렉토리를 생성했다.

image-20220103173027089

2. 가위바위보 게임 모듈 gbbGame.py 파일 작성

  1. modules 디렉토리에 gbbGame.py 파일을 생성

  2. 가위바위보 게임 함수 gbb_game() 정의

    def gbb_game(you_n):
        from random import randint
        com_n = randint(1, 3)
        # 랜덤함수를 불러와서 1~3 까지의 난수를 생성
        if com_n - you_n == 1 or com_n - you_n == -2:
            print('컴퓨터가 이겼습니다.')
        elif com_n == you_n:
            print('비겼습니다.')
        else:
            print('당신이 이겼습니다.')
        print(f'COM : {com_n}')
    	# 가위가 1, 바위가 2, 보가 3 
        # 컴퓨터가 가위(1)를 낸다면 YOU는 보(3)를 내야 컴퓨터가 이기므로 차이가 -2,바위(2)를 낸다면 YOU는 가위(1)여야 컴퓨터가 이기므로 차이가 1, 컴퓨터가 보(3)를 낸다면 YOU는 바위(2)여야 컴퓨터가 이기므로 차이가 1
        # 차이가 1일때와 -2 일때 컴퓨터가 이긴다.
        # COM과 YOU가 같은 숫자일 때 비기고
        # 나머지 경우는 YOU가 이긴다.
    
  3. gbb_game()를 호출하여 게임을 하는 함수 input_num()을 정의

    def input_num():
        you_n = int(input('YOU 입력 (1:가위, 2:바위, 3:보) : '))
        gbb_game(you_n)
           
    # input_num()함수 안에 위에 작성한 gbb_game()함수를 작성. 파라미터 안에는 입력받을 you_n까지 적어준다.
    

3. module_practice.py 파일 작성

  1. modules의 상위 폴더에 생성해준다.

  2. gbbGame의 모듈을 참조해 게임을 수행하는 main()함수를 작성한다.

    import gbbGame
       
    def main():
        gbbGame.input_num()
    # gbbGame모듈의 input_num()함수 호출
    
  3. __name__변수를 이용해 이 파일을 단독으로 수행하게 만든다.

    if __name__ == '__main__':
        main()
    

출력 결과

YOU 입력 (1:가위, 2:바위, 3:보) : 3
컴퓨터가 이겼습니다.
COM : 1

잘 출력 되는 것을 확인할 수 있다.

2022

[web]jQuery 복습 3

2 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 2

11 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 1

16 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리4

6 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리3

6 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리2

6 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리1

7 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]CSS 기초 정리

9 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]HTML 기초 정리

2 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[Pandas]pandas 연습

3 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑

2021

[Python기초]module

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑