티스토리 뷰

Python

Procedural Programming 예제

techbard 2012.05.22 14:02
파이썬으로 공부하고 있는 소스들 정리

1. 입력이 정수가 아니면, except ValueError가 발생하는 점을 이용해서 입력값 필터링
2. 카운트 값이 있는 경우에만 출력 (if count: ...)


print("Type integers, each followed by Enter; or just Enter to finish")
total = 0
count = 0
while True:
    line = input("integer: ")
    if line:
        try:
            number = int(line)
        except ValueError as err:
               print(err)
               continue
        total += number
        count += 1
    else:
         break
if count:
   print("count =", count, "total =", total, "mean =", total / count)


댓글
  • 프로필사진 MiNu input()이 아닌 raw_input()을 사용하셔야 제대로 동작할 것 같습니다.
    input()은 입력 받은 문자열을 eval()해서 리턴하기 때문에 정수가 아니라면 여기에서 이미 에러가 나게 되거든요.
    혹은 input()까지 포함해서 try-except를 사용하셔야 합니다.
    2012.05.22 16:57
  • 프로필사진 MiNu 아아. 보니 Python 3을 사용하시는가 보군요.
    제가 Python 2.x만 사용하다 보니 raw_input()이 input()으로 바뀌었다는걸 몰랐습니다.

    Python 3.x에서는 제대로 동작하겠네요 ^^
    2012.05.22 17:01
  • 프로필사진 BlogIcon techbard 네 맞습니다. 파이썬 3를 써서요~~

    파이썬 3는 익셉션 처리 변수 문법도 as 를 쓰게 바뀌었더라고요...

    코멘트 감사합니다.
    2012.05.22 17:10 신고
댓글쓰기 폼
공지사항
Total
409,801
Today
19
Yesterday
27
«   2019/11   »
          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 29 30
글 보관함