num = int(input('크기를 입력하시오 : '))
for i in range(1, num + 1):
print('*' * i)
num = int(input('크기를 입력하시오 : '))
for i in range(1, num + 1):
print(' ' * (num-i), '*' * i)
num = int(input('크기를 입력하시오 : '))
for i in range(1, num + 1):
print(' ' * (num-i), '*' * (2 * i - 1))
num = int(input('크기를 입력하시오 : '))
for i in range(1, num + 1):
print(' ' * (num-i), '*' * (2 * i - 1))
if num == i:
for i in range(num - 1, 0, -1):
print(' ' * (num-i), '*' * (2 * i - 1))
for i in range(2, 101):
TF = True
for j in range(2, i):
if i % j == 0:
TF = False
break
if TF:
print(i, end=' ')
<1>
변수는 값 1개만 저장된다
하나의 변수에 값을 여러개 담아야 할 때 사용하는 것은 리스트(list)
리스트는 집합 데이터를 효율적으로 활용하기 위해서 사용한다.
a = [1, 2, 3]
b = ['asdf', 'ghj', 'jkl']
c = [12.24, 34.56]
d = [True, False, True]
이러한 식으로 숫자, 문자열, 실수, boolean 등 다양한 타입을 넣을 수 있다.
리스트의 각 항목들이 들어가있는 순서를 방 번호라고 생각하고, 방 번호로 호출할 수 있다.
이것을 인덱스라고 부른다.
예를 들어 첫번째 항목을 부르고 싶으면 리스트명[0], 두번째 항목은 리스트명[1] 이런식으로 부를 수 있다.
빈 리스트를 만드는 방법은 두가지가 있다.
e = []
f = list()
이렇게 빈 리스트를 할당하거나, list함수를 통해 생성이 가능하다.
append 함수는 방을 확장하고 값을 저장할 수 있다.
a.append(4)
이런식으로 하면 4를 넣을 수 있다.
e = []
e[0] = 1
빈 리스트에 이렇게 넣으면 안된다.
무조건 append 사용해야 한다.
파이썬은 타입에 자유로운데 이유는 모든 타입이 참조타입이기 때문이다.
데이터는 변수 타입이 자유롭기 때문에 좋다.
a = 10
a = 'asdf'
이런 식으로 숫자를 넣었다가 문자열을 넣어도 된다.
참조값이란 컴퓨터가 자료를 찾을 때 변수에 먼저 접근하는 것이 아니라 주소로 접근한다고 생각하면 된다.
<2>
리스트의 항목들을 하나씩 출력하려면
a = [1, 2, 3]
for i in range(0, 3):
print(a[i])
for i in a:
print(i)
위의 방법을 사용할 수 있고, 결과값은 동일하다.
리스트의 길이를 알고 싶으면 len함수를 사용할 수 있다.
len함수는 길이, 즉 length를 묻는 함수이다.
a = [1, 2, 3, 4, 5]
print(len(a))
이렇게 요소가 다섯개 인 리스트의 길이를 출력하면
결과는 위와 같다.
Quiz. 숫자 10개를 입력받아 리스트에 저장한 뒤 출력하라.
data2 = []
for i in range(0, 10):
x = int(input('num:'))
data2.append(x)
print(data2)
결과는 위와 같다.
Quiz. 학생 5명의 점수를 입력받아 총점과 평균을 출력하라.
score = []
sum = 0
for i in range(0, 5):
x = int(input("점수를 입력하시오 : "))
score.append(x)
for i in range(0, 5):
sum += score[i]
avg = sum/len(score)
print('총점은 ', sum, '점')
print('평균은 ', avg, '점')
결과는 위와 같다.
<3>
변수의 특징 = 값이 바뀔 수 있다. 값을 여러번 할당할 수 있다.
리스트도 요소를 변경할 수 있다.
a = [1, 2, 3, 4, 5]
print(a)
a[2] = 30
print(a)
이렇게 리스트 a를 할당해 준 후에 인덱스로 호출하여 값을 변경한 후에 다시 출력해보면
값이 변경된 것을 확인할 수 있다.
del 함수를 사용하여 삭제를 할 수도 있다.
del함수는 항목 1개만 사용하는 것이 아니라 원하는 범위만큼 삭제할 수 있다.
del a[2]
print(a)
del a[1:3]
print(a)
처음은 a[2] 요소가 사라진 것을 확인할 수 있다.
그 다음은 a 리스트에서 a[1]부터 a[3] 전까지 삭제하고 나머지만 출력된 값이다.
특정 값을 찾아 삭제하는 것도 가능하다.
a = [1, 2, 3, 4, 5]
a.remove(1)
print(a)
remove 함수를 통해 특정 값을 입력해준 뒤 값을 찾아 삭제하는 것이다.
만약에 입력한 특정 값이 없는 값이라면 에러가 뜬다.
리스트에서 인덱스를 출력하는 것도 가능하다.
b = [2, 7, 4, 5, 3]
print(b.index(7))
리스트에서 7이라는 값을 가진 인덱스를 찾아 출력하는 것이고, remove와 마찬가지로 없는 값이라면 에러가 뜬다.
b[1] 항목이 7이기 때문에 1을 반환해준다.
리스트 정렬도 가능하다.
list.sort(b)
print(b)
sort 함수를 사용하면 오름차순 순서대로 정렬할 수 있다.
오름차순 순서대로 정렬된 것을 확인할 수 있다.
<4>
Quiz. index 함수 사용하지 않고 리스트에 10개 숫자를 입력받아 저장 후
최대값과 최소값 출력하라.
변수의 특징 = 값이 바뀔 수 있다. 값을 여러번 할당할 수 있다.
리스트
Quiz. index 함수 사용하지 않고 리스트에 10개 숫자를 입력받아 저장 후
최대값과 최소값 출력하라.
변수의 특징 = 값이 바뀔 수 있다. 값을 여러번 할당할 수 있다.
리스트
enumerate
<점심시간>
<5>
enumerate 함수는 반복자라고 불린다.
리스트에서 요소를 한개씩 순서대로 추출하는 것을 반복하는 함수다.
방번호(인덱스)와 요소(값)를 추출해서 반환한다.
a = [9, 8, 7, 6, 5]
for idx, i in enumerate(a):
print(idx, i)
이렇게 코드를 짜게 되면
값이 이렇게 출력된다.
<6>
enumerate
a = [9, 8, 7, 6, 5]
for idx, i in enumerate(a):
print('a[', idx, ']', i)
enumerate
다차원 리스트는 복잡한 구조의 데이터를 표현하기 위해 사용
리스트를 요소로 갖는 리스트
<7>
Quiz. index 함수 사용하지 않고 리스트에 10개 숫자를 입력받아 저장 후
최대값과 최소값 출력하라.
# 성적 처리 프로그램
# 3명의 번호, 국/영/수 인력받아 각 학생의 총점, 평균 계싼하여 결과 출력
# 요소 입력받아 저장
코딩을 할 때 머리로만 생각하지 말고 하드코드 적으며 해라.
<8>
Quiz. 성적 처리 프로그램 만들기.
3명의 번호, 국/영/수 입력받아 각 학생의 총점, 평균 계산하여 결과 출력하기
'개발' 카테고리의 다른 글
[Android] 안드로이드란? 안드로이드 스튜디오 개발 도구 설치하기 (0) | 2022.01.13 |
---|---|
영상처리를 위한 인공지능 sw개발자 과정 10기 수업 4일차 (0) | 2021.06.03 |
영상처리를 위한 인공지능 sw개발자 과정 10기 수업 2일차 (0) | 2021.06.01 |
영상처리를 위한 인공지능 sw개발자 과정 10기 수업 1일차 (0) | 2021.05.31 |
R studio 설치 , 라이브러리 설치 방법 (0) | 2020.12.15 |