[강좌] 파이썬 훈련 04 - 주소록 만들기 1

보통 프로그래밍을 배우면 변수, 함수, 반복, 비교, 입출력 등을 배운 뒤에 정리하는 차원에서 작성하는 프로그램이 주소록 프로그램입니다. 꽤 많은 강의나 책에서 이 예제를 선택합니다. 주소록은 입력, 출력, 기본적인 자료구조등을 이용하기때문에 초보자의 예제로 아주 적합하기 때문입니다. 또한, 이 예제는 실력을 얼마나 가지고 있느냐에 따라서 얼마든지 복잡하고, 거대한 프로그램으로 발전시킬 수도 있습니다.

이렇게 기본 지식을 습득한 뒤에 짜게 되는 주소록 프로그램을 저는 고작 Hello world 한번 찍어보고 바로 시작하려 합니다. 물론 처음부터 복잡한 설명은 하지 않습니다. 뼈대를 만들고 살을 붙여가면서 즐기듯이 만들어보겠습니다. 같이 만들어보면서 따라오시면 어렵지 않으리라 생각됩니다. 단, 파이썬이기에 가능한 부분입니다.

아직 우리는 배운게 없습니다. 고작 print() 함수 하나 배운게 전부입니다. 일단 딱 한명만 입력하고, 입력한 정보를 바로 출력하는 프로그램부터 시작해보겠습니다.
먼저 적당한 이름으로 프로젝트를 하나 생성하시고, 다음 코드를 작성해보시기 바랍니다.

print("이름 : ")
print("홍길동")

위 코드를 실행해보시면 이름이 출력됩니다. 하지만 두줄에 걸쳐서 출력됩니다. 아래와 같이 수정해보겠습니다.

print("이름 : ", end='')
print("홍길동")

위와 같이 수정하면 우리가 원하던대로 한줄로 출력됩니다. 아래 코드를 더 작성해봅시다.

print("이름 : ", end='')
print("홍길동")
print("나이 : ", end='')
print("23")
print("E-Mail : ", end='')
print("hong@gmail.com")

우리는 지금부터 이런 출력물을 얻을 것입니다. 그러려면 먼저 키보드로부터 입력받는 방법을 배워야 합니다. 그리고 입력을 받은 문자를 저장하는 방법도 배워야 합니다. 다음 코드를 작성해보겠습니다.

name = input("이름 : ")
print("이름 : %s" % name)

설명하지 않아도 대충은 알것같지 않나요? name은 값이 저장되는 '변수'입니다. 이름이 변수니 계속 값을 변경해서 넣는것이 가능합니다. 그리고 input() 함수는 괄호안의 내용을 콘솔화면에 출력해주고, 키보드값을 입력받을 대기를 합니다. 키보드로 이름을 입력하고 엔터를 치면 입력한 이름이 name 변수에 저장됩니다. 그리고 우리가 계속 사용했던 print() 함수가 나옵니다. 하지만 좀 다르게 사용하고 있습니다. 큰따옴표 안에 %s가 들어 가고 %를 입력한 다음 %s에 출력할 문자를 입력합니다. 문자렬 입력해도 되고, 문자가 들어있는 변수를 입력해도 됩니다. 재료들의 설명을 드렸으니 이제 프로그램을 완성시켜 보겠습니다.

name = input("이름 : ")
age = input("나이 : ")
email = input("E-Mail : ")

print("이름 : %s" % name)
print("나이 : %s" % age)
print("E-Mail : %s" % email)

실행시켜보시면 이름, 나이, 메일주소를 입력하면 바로 출력이 됩니다. 아직은 주소록의 기능을 한다고 볼 수 없지만 이제 조금씩 조금씩 비슷해지다가, 주소록 프로그램으로 완성이 되어갈 것입니다.

오늘 내용이 함수, 변수, 입력, 콘솔등 어려운 용어들이 많이 나왔습니다. 하나하나 자세히 들여다 보면 상당히 설명할 내용들이 많습니다. 하지만 지금 이런 용어들을 디테일하게 논한다면 그냥 프로그래밍 언어의 기본서를 보는게 나을 것입니다. 그리고, 그런 디테일에 빠져서 전체를 보지 못하고, 아무것도 만들 수 없는 상황에 이르게 될 수도 있습니다. 그냥 위에서 설명드린 용어들은 딱 설명드린 그정도만 알고 일단은 사용하시다 보면 저절로 디테일하게 알게 됩니다. 처음 축구경기 보듯이 일단은 그냥 보고, 보면서 하나씩 규칙을 알아가도 늦지 않습니다.
[강좌] 파이썬 훈련 04 - 주소록 만들기 1 [강좌] 파이썬 훈련 04 - 주소록 만들기 1 Reviewed by Tae-seob Shin on 11월 04, 2018 Rating: 5

댓글 없음:

Powered by Blogger.