Python 언어로 숫자 맞추기 게임을 작성해 보았다.
input()  함수가 내부적으로 Python 2.x와 Python3.x에서 다르게 동작한다.

    In Python2.*, input([prompt]) was equivalent to eval(raw_input([prompt])).
    In Python3.*, input([prompt]) of Python2.* was removed and raw_input([prompt])
                        was renamed as input([prompt]).

아래 소스의 16째 줄 guess = int(sbuf) 는 스트링을 정수로 타입변환하는 과정이다.



소스 파일명: guessNumber01.py

  1. #!/usr/bin/env python
  2. #
  3. #   Filename: guessNumber01.py
  4. #   Purpose:  Interatice game guessing a given number.
  5. #                 if CONDITION:
  6. #                     ......
  7. #                 else:
  8. #                     ......
  9. #   Execute: python guessNumber01.py
  10. def doGuessing(num):
  11.     print("Enter your guess:")
  12.     #sbuf = raw_input()     # for Python 2.x
  13.     sbuf = input()          # for Python 3.x
  14.     guess = int(sbuf)
  15.     if guess == num:
  16.         print("You win!")
  17.         return
  18.     # we won't get here if guess == num
  19.     if guess < num:
  20.         print("Too low!")
  21.         doGuessing(num)
  22.     else:
  23.         print("Too high!")
  24.         doGuessing(num)
  25. doGuessing(123)




실행> python guessNumber01.py
Enter your guess:
111
Too low!
Enter your guess:
222
Too high!
Enter your guess:
123
You win!



위의 소스는 Jython 2.2.1이나 Jython 2.5.1로 실행해도 똑같이 실행된다.

실행> jython guessNumber01.py
Enter your guess:
111
Too low!
Enter your guess:
222
Too high!
Enter your guess:
123
You win!




Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.



Posted by Scripter
,