처음에는 변수가 어려 울 수 있습니다.
어떻게 보면 변수가 프로그램의 모든 것이라 할 수 있습니다.
내가 원하는 결과를 만들기 위해서 변수의 값을 어떻게 변해가도록 할 것인가가 프로그램 입니다.
그래서 내가 만든 프로그램이 잘 실행되고 있는지 확인하려면 변수를 보면 되는 것입니다(디버깅).
다음과 같이 더하기를 한다고 보시죠.
print(1 + 1)
2
가 나오죠. 여기서는 변수는 전혀 사용하지 않았습니다.
오로지 1 + 1 만 하기 때문 입니다.
이제 1부터 5까지 더하는 것을 만들오 보죠.
print(1 + 2 + 3 + 4 + 5)
1~5 까지 일일이 숫자를 적어주어야 합니다.
다음과 같이 또 다른 방법 입니다.
a = 0 # 변수 a 를 선언하고 0 으로 초기화
for i in range(1, 6, 1): # 반복문 for 사용. 1부터 5까지 1씩 증가. 여기서 i는 1,2,3,4,5가 됨.
a = a + i # 변수 a에 계속해서 i 를 더하고 결과를 다시 a에 저장. a += i와 같음
print(a)
변수 a 를 사용하고 a에 계속 1부터 5까지 수(i)를 더하는 것입니다.
앞의 코드보다 복잡해 보이지만 숫자 1~5까지 일일이 쓰지 않아도 됩니다.
지금은 5까지여서 '이게 더 복잡한데' 하는 느낌이지만
1부터 1000까지 더한다고 하면 이게 얼마나 간단한 코드인지 느낌이 오시죠?
이렇게 1부터 5까지 더하라고 할때, 변수를 어떻게 사용하면 결과를 만들어 나갈 수 있을까 생각하는 것이 프로그램을 만드는 것입니다.
다음과 같이 학생의 점수 합계를 구해보죠.
a = 70 # 국어
b = 90 # 수학
c = 95 # 영어
tot = a + b + c # 합계 계산
print(tot)
변수 a, b, c 가 각각 과목의 점수를 가지게 되죠.
아까 1~5까지 더하기 코드때와 같이 계속 반복되는 것이 있죠? 여기서는 변수가 같은 역할을 하는데 반복됩니다.
이게 변수가 아닌 리스트(배열)을 사용해서 변수의 역할을 쉽게 하도록 합니다.
lst = [70, 90, 95] # 변수 a,b,c 대시 리스트(배열) 사용
tot = 0 # 합계 변수 tot 선언 및 0으로 초기화
for i in range(len(lst)): # 반복문. len(lst)은 lst을 데이터 크기 즉 3. i는 0부터 2까지 나옴.
tot = tot + lst[i] # tot 변수에 i는 lst의 데이터 번호(인덱스)
print(tot)
변수, 즉 기억해야 할 것들이 많을때 변수(데이터)의 번호(인덱스)를 사용해서 쉽게 사용할 수 있도록 한 것 입니다.
여기서 lst[0]은 70, lst[1]은 90, lst[2] = 95 가 됩니다.
이 코드도 3개의 과목이지만 수십개의 과목이고 수백명의 학생 이라면 이 코드가 얼마나 간단한 것인지 느껴지시죠.
이렇게 사용하다보니 데이터(변수)들의 번호가 아닌 이름을 사용해서 사용할 필요성이 있어서 '딕셔너리'라는 것을 사용하게 됩니다.
또, 이것들을 전원이 꺼져도 기억할 필요성이 있어서 파일에 저장하게 됩니다.
그리고, 이런 데이터가 많으면 관리하는데 어럽기때문에 데이터베이스를 사용하게 됩니다.
변수, 리스트(배열), 딕셔너리, 파일등 이름은 다르지만 변수에서 시작해서 이 변수들의 규모가 커지는 것이 따라 변수와 같은 역할을 한다는 것을 알 수 있습니다.
'프로그램' 카테고리의 다른 글
[파이썬] 문제 : 학생들의 성적 리스트를 학생수로 분리 (0) | 2023.02.20 |
---|---|
[파이썬] 문제 : 딕셔너리의 평균계산 후 키 추가 및 키와 값 리스트 출력 (0) | 2023.02.17 |
[파이썬] 문제 : 리스트를 딕셔너리로 만들기(과일 영,한) (0) | 2023.02.15 |
[파이썬] 문제 : 기간내의 날짜 출력 (1) | 2023.02.15 |
[파이썬] 문제 : 짧은 프로젝트 A, 긴 프로젝트 B팀의 작업 할당 (0) | 2023.02.15 |
댓글