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명의 번호, 국/영/수 입력받아 각 학생의 총점, 평균 계산하여 결과 출력하기

 

+ Recent posts