37. 파이썬 – 프로그램 입출력(연습문제)

  • 네이버 블로그 공유하기
  • 카카오톡 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기

프로그램 입출력

Dos 명령어에 type 이라는 명령이 있습니다.
type 명령을 사용해 파일이름을 입력 받아 파일의 내용을 출력을 하게 됩니다.

C:\> type test.txt

이렇게 명령 프롬프트에서 사용 되는 명령어들은 인수를 전달하여 프로그램을 실행하게끔 됩니다.
이와 같은 기능을 파이썬에서도 사용할 수가 있습니다.

명령어 [인수 1 인수 2 ...]

sys 모듈

파이썬에서는 sys 모듈을 사용하여 프로그램에 인수를 전달 할 수 있습니다.
sys 모듈은 사용하기 전에 먼저 import 명령어를 사용해야 합니다.

Python
# test.py
import sys

test = sys.argv[1:]
for i in test:
    print(i)

위 코드는 프로그램을 실행하면서 입력 받은 인수를 for 문을 이용해 하나씩 차례대로 출력하는 코드입니다.
위에서 사용된 sys 모듈의 argv 는 프로그램 실행시 전달된 인수를 의미합니다.
argv[0] 은 파일 이름인 test.py 가 되고 argv[1] 부터는 뒤에 따라오는 인수가 차례로 argb 의 요소가 됩니다.


위에 작성된 코드를 명령 프롬프트를 이용해 실행해 보겠습니다.

37. 파이썬 - 프로그램 입출력

명령 프롬프트에서 python test.py aaa bbb ccc 라고 입력을 했습니다.
전달받은 인수를 출력한 걸 볼 수 있습니다.

간단한 코드를 하나 작성 해 보겠습니다

Python
# test_02.py
import sys
test_args = sys.argv[1:]
for i in test_args:
    print(i.upper(), end=' ')

위 코드를 마찬가지로 명령 프롬프트에서 실행해 보겠습니다.

# test_02.py
import sys
test_args = sys.argv[1:]
for i in test_args:
    print(i.upper(), end=' ')

위 코드에서 보면 upper() 함수를 사용해 test_02.py 를 실행할 때 전달 한 인수를 모두 대문자로 바꾸어 준걸 확인 할 수 있습니다.

4장 연습문제 풀이

1. 홀수 짝수 판별

자연수를 입력 받아 홀수 인지 짝수 인지 구별하는 함수 is_odd 를 만들어 보세요

Python
>>> def is_odd(num):
...     if num % 2 == 1:
...         return True
...     else:
...         return False
...
>>> is_odd(5)
True
>>> is_odd(8)
False

2. 모든 입력 값의 평균 값 구하기

입력을 받아 모든 수의 평균 값을 구하는 함수를 만들어 보세요
단, 입력으로 들어오는 수의 개수는 정해져 있지 않습니다.

Python
>>> def num_avg(*num):
...     tot = 0
...     for i in num:
...         tot = tot + i
...     avg = tot / len(num)
...     return(avg)
...
>>> num_avg(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
5.5

3. 프로그램 오류 수정 – 1

두 개의 숫자를 입력 받아 더한 값을 출력해 주는 코드 입니다.

Python
input_01 = input("첫번째 숫자 입력 : ")
input_02 = input("두번째 숫자 입력 : ")

tot = input_01 + input_02
print("입력 받은 두 수의 합은 %s 입니다" % tot)
Python
첫번째 숫자 입력 : 5
두번째 숫자 입력 : 7
입력 받은 두 수의 합은 57 입니다

5 와 7 을 입력 했을 때 결과가 57 이 나왔습니다.
정상적으로 5 + 7 의 결과인 12 가 나오게 수정해 보세요

Python
input_01 = input("첫번째 숫자 입력 : ")
input_02 = input("두번째 숫자 입력 : ")

tot = int(input_01) + int(input_02)
print("입력 받은 두 수의 합은 %s 입니다" % tot)

입력이 항상 문자열이라고 공부했었습니다. int 함수를 이용해 정수로 변경 후 출력해 보았습니다.

Python
첫번째 숫자 입력 : 5
두번째 숫자 입력 : 7
입력 받은 두 수의 합은 12 입니다
  • 이 포스팅은 ‘위키독스’ 의 ‘점프 투 파이썬‘ 전자책을 구매하여 독학하기 위한 자료로 작성했습니다.

Leave a Comment