과학

python으로 구구단 프로그램 만들기

 하이.

 저 밑에 c언어로 구구단 짜는 걸 보여준 게이 덧글 중 파이썬 얘기가 나왔길래 눈팅만 하다가 잽싸게 가입했다.


 원래 어제 저녁에 쓰려 했는데 쿨타임이 안찼다며 못쓰게 하더라.


 우선 코드부터.


python_gugudan1.png


 엄청 간단하지? 그럼 결과값을 먼저 보여주겠음.


python_gugudan2.png


 이런 식으로 출력된다.


 이렇게 파이썬은 나같은 사람도 쉽게 쓸 수 있어서 일하면서 자주 사용한다. 특정 파일만 한 폴더에 모은다던가, 간단하게 db에 자료를 밀어넣는다던가, 텍스트 파일을 자른다던가 등등.


 그럼 이제 코드에 대해 설명 들어간다.


 최상단에 

def multi():

라는 문장이 있지? 이건 함수(function)라고 부르는 물건이다. 쉽게 말하자면 '이것만 치면 무슨 동작을 해라!' 라는 패키지? 같은 거다. 위에 코드를 보면 맨 밑에 

multi() 

라고 썼는데 이게 '이 곱하기 함수를 실행하라' 라는 명령인 거지.

즉, 함수를 짜도 저 multi() 를 넣지 않으면 함수가 실행되지 않는다는 뜻이야.


그 다음 행에 보면 모두 들여쓰기가 되어있지? 이게 파이썬이 쓰기 쉽다고 말하는 점 중 하나인데 자바나 c에서 {}로 묶는 것을 파이썬에서는 들여쓰기로 대신해. 왜 그런 프로그램에서도 보기 좋게 하려고 들여쓰기를 하잖아? 그런데 파이썬은 이게 의무인 거지. 위의 예제에선 탭으로 들여쓰기를 했는데 스페이스바로 들어가도 상관없어. 칸 수만 맞추면 상관없음.


어쨌든 다음 행으로.


a = input('정수입력 : ')


이건 a라는 변수에 어떤 숫자를 입력받아서 저장하겠다는 뜻이야.

먼저 변수란 건 일종의 그릇? 컵이라고 생각하면 되. 그 안에 무언가를 담아서 갖고 있겠다는 거지. 이 예제에선 a에 6을 담았어.


for b in range(1,20):


for는 반복문이라 해서 일정횟수 같은 동작을 반복하게 만들어주는 명령어야. for 다음의 b는 in 다음에 있는 것들을 하나씩 담을 때 쓸 변수고.

in은 그 뒤에 있는 것 안에 있는 것들을 하나씩 돌리겠다는 거야. 

range는 영어로 '범위'지? 이 경우엔 1부터 20 앞까지, 즉 19까지 1씩 더해서 올린다는 거야.


풀어서 설명하자면

range(1,20) 을 하면 [1,2,3,4,...,17,18,19] 라는 말이야. 이 [1,2,3,4,...,17,18,19] 를 앞에서부터 하나씩 불러와서 b에 넣어서 다음 명령을 실행하겠다는 거지.

즉, 첫번째엔 b에 1이, 두번째 반복땐 2가, 세번째엔 3이 들어가. 그리고 b에 19가 들어가면 마지막으로 명령을 실행하고 끝내지.


다음 행의

print(a,'X',b,'=',int(a)*b)


자, print는 알 거 같지? 출력문이야. 괄호 안의 문자를 화면에 찍어주겠다는 의미지. 맨 뒤에 int(a)는 a를 숫자로 처리해서 계산하라는 의미고.


이게 파이썬에서는 변수형을 따로 지정해주지 않아도 지가 알아서 자동으로 정해주거든. 이게 또 편한 점이지.

그런데 가끔 제대로 못알아차릴 때도 있어. 저거 처음에 돌렸을 땐

6 X 1 = 6

6 X 2 = 66

6 X 3 = 666

.

.

.

이런식으로 출력이 된 거야. 즉, a를 숫자가 아닌 문자로 인식했던 거지. 그래서 'a를 숫자로 인식하라!' 하고 명령한 게 바로 저 int(a)인 거야.





삘 받아서 갑자기 써서 두서없었지? 그래도 이런 언어도 있구나, 하고 생각해줘.

31개의 댓글

2013.10.15
이글보고 파이썬 궁금한 게이들은 다음 링크를 참조하면 쉽게 써볼 수 있음
http://www.trypython.org/#
0
2013.10.15
@돋아오른다.
오. 처음보는 사이트다. 그런데 2.6.1 버전이구나. 저건 일단 3.3 기준으로 설명한 거라.
0
@낮도깨비
인터넷에 찾아보면 웹버전 많음. 근데 버전은 2.6.x 버전 등이 많아..
0
2013.10.16
@인생무상무념무상
아무래도 그렇지. 모듈이 2.x 버전인 게 많아서. 3.x는 안되는 모듈이 몇 개 있거든.
0
2013.10.15
3.0 이상 쓰는구나
2.7.x대랑 달라서 선배들은 다 2.7.x 쓰더라고
0
2013.10.15
@돋아오른다.
ㅇㅇ 일단 직장서 쓰는 사람이 나뿐이기도 하고, 뭔가 버전이 높으니 좋겠지! 라는 착각에. 뭐, 어쨌든 쓰기에 불편하지 않으니까.ㅎ
0
2013.10.15
오오 파이썬... 내가 나중에 배워야하는거네..
0
2013.10.15
@카카카멜
쉽게 배울 수 있을 거야.
0
2013.10.15
파이썬은 비전공자나 프로그래밍 초심자가 접근하기 좋은 언어인데다. 활용성도 짱짱맨이라 현업에서도 많이 사용하는 언어다. 배워두면 여러모로 좋음.
0
2013.10.15
@응응응응
바로 내가 엄청 활용하고 있지. 모듈이 다양한 게 좋더라.
0
2013.10.15
@낮도깨비
오픈소스개발이 엄청 활발해서 파이썬으로 못만드는게 없을정도. 웹, 서버, 안드로이드앱, 게임 등등
0
2013.10.15
@응응응응
그치. ㅎ 우리나라에선 자바만큼 안쓰이는 게 아쉬울 정도.
0
2013.10.15
오 파이썬 굿굿

하루만에 독파 가능한 수준이고 파이썬 서버같은경우도 좋고
0
2013.10.16
C에 비하면 정말 간단하네.
0
우와 나 파이썬 지금 배우고 있는건데 내가 돌머리라 아직 못알아먹겠더라... 이거할려면 저거 안되고. 뭐 프로그래밍 언어도 이걸 처음 배우는 거긴 하지만은;;
어디 배울 수 있는 사이트나 간단한 정보 좀 올려주면 감사해
0
2013.10.16
@인생무상무념무상
나같은 경우엔 위키북스에서 나온 '빠르게 활용하는 파이썬 3.2 프로그래밍'이란 책을 옆에 두고 보면서 사용해. 그거하고 파이썬 홈페이지 레퍼런스 보고. 외워서 쓰는게 아니라 필요할 때마다 찾아보면서 써서...

아니면 간단한 거라면 알려줄 수 있으니 물어봐도 됨. 뭐, 내가 아니라도 사람들이 많아보이기도 하고.
0
2013.10.16
와~ 정말 오랜만에 본다 내가 파이썬을 마지막으로 접한게 2008년이니까
막 Python 3K 나올때였나? 아무튼 그러고선 버렸는데
솔직히 C보다 간단하고 쉽긴 하지만
역시나 뜯고 씹고 맛보고 즐기는건 C언어보단 못한거 같더라
나중에 MFC(C플 기반 API 라면 알기 쉬우려나?)할때 캡슐 찾아들어가서 졸라 깨먹는 맛도 잼있던데 ㅋㅋㅋ
이러다가 몇만줄씩 한거에서 에러와 워닝 뜨면.. 후덜덜덜... 밤새 찾고 그랬지 ㅋㅋㅋ

Python이 나쁘다는게 아니라 쉽게 접할 수 있으면서 간단하게 배울 수는 있지만
나랑은 안맞는다는걸 말하고 싶을 뿐인거다

그래도 일단 플밍을 하려면 C부터 해야한다는거!!
더 간단한걸 찾고 싶은 개드리퍼들이 있다면
JAVA를 배우는것도 추천한다
Python 만큼이나 JAVA 도 쉽단다
도움말에서 필요한 클래스 찾아서 클래스만 쳐 불러와서 쓰기만 해도 할만 하거든~
0
2013.10.16
@준가르
그럴 수도 있지.ㅎ 나는 파이썬이 맞아서 쓰는거니까. c는 나한텐 어렵더라구 ㄷㄷ.
내가 프로그래머가 아니기도 해서. 자기한테 맞는 걸 쓰는 게 최고인 거 같아.
0
2013.10.16
@낮도깨비
플밍은 VB로도 잘만드는 사람은 잘만들어
어찌됬건 옛말에 이런말이 있잖아
'명필은 붓을 가리지 않는다'
맞는 말인거 같긴해

그래도 프로그램은 최신껄 써야되....
아놔... 재작년까지 6.0 하고 2003 하고 혼용해서 쓰다가 개욕먹었어....
그러고 회사 때려치고 나왔지만 ㅋㅋㅋ
0
2013.10.16
@준가르
ㅋㅋㅋ 최신이 좋지. 다른 프로그래머들과 호환이라던가 돈 등의 문제가 허락하는 한에는.ㅎㅎ

우리 회사에서 파이썬 쓰는 사람은 어차피 나 혼자니까 난 내멋대로 최신판 쓰는 거지만.ㅎ
0
2013.10.16
@낮도깨비
싸운이유도 간단해

솔직히 2003이 코딩을 이쁘게 하기는 좋아
그런데도 워닝같은걸 잘 못잡는 경우가 있거든
그래서 먼저 6.0으로 코딩을 한다음에
그걸 2003으로 가져와서 재코딩을 하는거야
그렇게 해서 마무리 지은다음 넘겨주는거지

그런데 같이 하던 플머들이 하는말은 간단해
"뭐하러 일을 두번하냐! 이 XX야! 시간 낭비 쳐하지마!"
라는 거지...
썩을.. 일이라도 적게 주고 그딴 말을 하라고!!
라고 외치고 싶었지만... 내 위사람이 그랬으니 뭐라 하지도 못했었고..
아무튼... 지금은 행복해
나 혼자 프리렌서로 코딩하고 쳐 앉아있으니까~
0
2013.10.16
@준가르
뭐.. 결국은 지금은 2003을 쓰고 있지만.. 역시나 나이 먹은 사람 말을 들어야되는거였어...
ㅋㅋㅋㅋㅋ
미친거 같아 난.... ㅋㅋㅋㅋ
전통 공돌이라서 어떻게 표현해야되는지 모르겠다 ㅋㅋㅋㅋ
0
2013.10.16
@준가르
예쁜것 보단 효율성을 추구하는 분들이었구나.

프리랜서란 건 조금 부럽다.
0
2013.10.16
@낮도깨비
어짜피 효율적인게 좋은 이유가 빠르거든
어짜피 플밍으로 3~4년씩 밥 빌어먹고 살다보면
코딩에서 틀리는 경우는 거의 없다고 보면 되
다만 짜증나는게 ; 를 빼먹거나 , 하나를 안해놨거나
지역변수인데 광역변수로 선언해서 지 혼자 값이 난리 치거나
하는 경우가 아니면 되는데
이런걸 같은 프로그램이 아닌 혼용해서 써버리면
눈에 안보이는 경우가 많거든

만줄 2만줄 아니 10만줄 20만줄이 되도
익숙한걸 보다보면 금방 찾는데
같은 방식으로 가지 않는다면 욕을 먹는거지..ㅋㅋㅋ

그리고 욕먹었던 것 이유가 늦는다는거 때문
일정 기간안에 협의 - 설계 - 개발 - 테스트 - 상용화 까지 해야되는데
닝기적 닝기적 하다보면 다 꼬여버리니 욕먹는거였지~~

뭐 욕먹은 가장 큰 이유는
맨날 퇴근안하고 회사에서 야근해서 욕먹었지 ㅋㅋㅋ
야근 8시간 중 6시간은 겜 ㅋㅋㅋㅋ
디아3 나왔을때 사무실이 야근할땐 피씨방이였으니까 ㅋㅋㅋ
0
2013.10.16
@준가르
앜ㅋㅋㅋㅋㅋㅋㅋ
0
2013.10.16
@준가르
그래도 VB는..
내가 VB로 운영체제 비스므리하게 시스템콜하고 리소스 관리 비슷한거 만들었었는데
물론 순수 VB는 안들어 갔고, 시스템콜 정도는 서비스랑 드라이버만들어서..
근데 지금 생각하면 개삽질이 였지 ㅠ
0
2013.10.16
@잉텔
내 대학 동기이자 옆 LAB실에서 있던 최고의 쌍XXX 가 있었는데
자기가 if랑 for를 안쓰고 코딩을 하겠다는거야
그러면서 내가 발표용으로 만들고 있던 '도서 관리 프로그램'을 가져가더니
거기에서 모든 구문을 goto로 바꿔서 에러 오류 하나 없이 완벽하게 만든
쌍XXX가 있어..

그 쌍XXX은 지금 해외 모 기업에 가서 잘 먹고 잘살고 있더라고
글을 보니까 그런 개 삽질하는 녀석이 갑작히 생각나네~ㅋㅋㅋㅋ
0
2013.10.16
@준가르
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
0
2013.10.17
@준가르
난 초딩때 VB6으로 구구단 온라인 게임 만들고 지금 AES 256 코드봇 비슷한거랑 인터프리터 언어(중딩때) XML 번역 프로그램 채팅 프로그램 해킹프로그램(중딩때) 만들었는데 왜 취직이 안됨 대학안나와서 그렇나
0
2013.10.17
@틀린말
대학을 안나와서 그런게 아니고
당시 만들었던 프로그램 코딩 있으면 그걸 포플로 써봐
처음부터 대기업 외국계 계열은 못들어가도
중소기업이나 소규모 회사는 충분히 들어갈수 있어
아니면 유비쿼터스나 임베디드 관련 회사도 충분히 통할수 있고
물론 중딩때보다 더 실력이 나아졌다는 전재하지만~
0
2013.10.16
파이썬 진짜 배우고 싶은언어중 하나임 ㅠ
근데 시간이 없으니깐 못배움...
0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜
563 [과학] 경계선 지능이 700만 있다는 기사들에 대해 34 LinkedList 12 21 일 전
562 [과학] 번역)새들은 왜 알을 많이 낳는가? - 후투티의 형제살해 습성... 7 리보솜 3 2024.03.23
561 [과학] 학계와 AI, 그리고 Bitter Lesson (쓰라린 교훈) 26 elomn 35 2024.02.17
560 [과학] 지구의 속삭임, 골든 레코드의 우주 9 Archaea 10 2024.02.16
559 [과학] 잔혹한 과학실험 이야기 <1> 절망의 구덩이 19 개드립하면안됨 37 2024.02.15
558 [과학] 스트레스를 받으면 술이 땡기는 이유 12 동식 16 2024.02.10
557 [과학] 지능은 모계유전이 아니다. 40 울릉특별자치도 35 2024.01.26
556 [과학] 진화를 생각할 때 고려할 것들 23 날씨가나쁘잖아 12 2024.01.17
555 [과학] 학문적(과학적) 접근과 유사 진화심리"학" 26 날씨가나쁘잖아 19 2024.01.15
554 [과학] 호모 사피엔스의 야릇한 은폐된 배란에 대한 남녀 학자의 다... 14 개드립하면안됨 15 2023.12.29
553 [과학] 김영하의 작별인사를 읽고 느낀 점 (스포있음) 21 장문주의 2 2023.11.28
552 [과학] 제4회 포스텍 SF 어워드 공모전 ( SF 단편소설 / SF 미니픽션 ) 2 따스땅 1 2023.11.25
551 [과학] 펌) CRISPR 유전자 가위 치료제 "최초" 승인 12 리보솜 7 2023.11.25
550 [과학] 러시아는 기술산업을 어떻게 파괴시켰는가(펌) 9 세기노비는역사비... 15 2023.11.18
549 [과학] 고양이에 의한 섬생태계 교란과 생물 종의 절멸 (펌) 2 힘들힘들고 6 2023.11.16
548 [과학] 번역) 알츠하이머병 유전자는 어떻게 살아남았는가? 12 리보솜 10 2023.11.15
547 [과학] 『우영우』의 자폐 스펙트럼 장애 개념이 왜곡인 이유 (펌) 47 힘들힘들고 10 2023.11.12
546 [과학] 흑수저 문과충 출신 구글 취직하는 파이썬 특강 -1 14 지방흡입기 11 2023.09.27
545 [과학] 국가별 당뇨 유병율 이거 뭐가 바뀐건지 아는사람? 8 LAMBDA 1 2023.09.27
544 [과학] 물샤워 ㅇㅈㄹ 하는 놈들 봐라 171 철동이 48 2023.09.23