파이썬/파이썬 자습 노트

파이썬 공부 요약 노트 1. 자료형 ~ 반복문

Tomitom 2022. 10. 20. 11:32
반응형

 

 

● 프로그램 = 자료의 표현 + 자료의 처리 

 

● 자료형 : 특정 자료가 어떻게 생겼는지 정의한 것

- 기본 자료형 : 숫자, 문자열, 리스트 등

- 리스트 튜플 문자열 

 

- 인덱싱 : n번째 요소를 참조하겠다. 
- 슬라이싱 : n번째부터 n번째까지 잘라내겠다.

인덱스와 슬라이싱은 반드시 0부터 시작한다. 
슬라이싱 할 때 마지막 인덱스는 세지 않는다. 

 


슬라이싱은 콩 심은데 콩 난다!


리스트에 슬라이싱 하면 리스트가 나오고 
문자열에 슬라이싱 하면 문자열이 나온다.  


● 변수 

- 자료에 붙이는 이름표 

- 자료를 저장하기 위한 수단

- 변수 이름은 자유이나, 제약사항도 있다.  변수 규칙!

 1. 문자와 숫자 그리고 _ 언더바 기호만을 사용할 수 있다. 

 2. 변수 이름에 숫자가 들어갈 수 있으나, 숫자로 시작할 수는 없다. (모듈 이름도 숫자로 시작할 수 없다.) 

 3. 키워드와 겹치는 이름을 사용하면 안 된다.

 4, 공백을 사용하면 안된다. 

 

- 변수에 값 대입하기

 변수 = 값  (값을 변수에 대입한다.)

 num = 3


● 복합 대입 연산자 : 연산 후 대입 

 

a 를 1 만큼 증가시킨다. 등등

a = a + 1 a += 1 

● 자료형 변환 (casting) 캐스팅 

str -> int

int -> str

같은 기호지만 자료명이 다르면 서로 연산을 할 수가 없다.

 

str(x) 문자열로 변환

int(x) 정수열로 변환

float(x) 실수형으로 변환 

 


● 제어문 : 프로그램의 동작 흐름을 제어하는 구문

 - 조건문 : 주어진 상황에 따라 동작이 선택된다  

 조건식을 만드는 규칙은 불데이터를 반환하거나 불데이터로 해석이 된다.

 조건식의 결과는 True 혹은 False



● if 조건식 :
    print("!") # 조건식이 True면 실행하고 Flase 면 실행하지 않는다.

 

 

불데이터를 만드는 방법 

- 비교 연산 : 비교 연산과 논리 연산이 섞여 있을 때에는 비교 연산이 먼저 처리된다. 

- 논리 연산  : 불데이터를 피데이터로 하는 연산. 연산자가 키워드

 이항 연산자  and (양쪽이 다 True 일 때만 True 로 반환된다.), or (한쪽만 True 일 때도 반환된다.) 

 단항 연산자 not 

비교 연산 표현식을 항으로 쓰는 논리 연산이 가능하다. (비교 연산을 피연산자로 활용할 수 있다.)

 

- 포함 여부 확인 : 여러 개의 요소를 가지는 데이터에서 특정요소가 포함되어 있는지 아닌지를 체크하는 것. 

in 연산자 

>>> "a" in "abc"

  True

>>> "d" in "abc"

  False

if -> 조건문 true 일때 반환

else -> true 가 아닐 때 반환


 

● 반복문 for while

 

for : 반복 횟수를 정하고 반복 시킨다. 

while : 횟수가 불분명한 경우 조건을 기준으로 반복시킨다.

 

for문의 반복을 위해서는 이터러블iterable(반복가능한) 한 객체가 필요한다. 

index가 있어서 순서대로 요소에 접근할 수 있는 것 -> 이터러블iterable (문자열 리스트 튜플 딕셔너리) 

 

for 반복자 in  반복대상 : 

반복자 -> 한 번 반복할 때마다 어떤 요소에 해당하는 반복인지를 나타내는 변수  (주로 i 를 쓴다.) 

반복자 -> 이터러블 객체

 

범위 함수 range()

range(9) -> 0 1 2 3 4 5 6 7 8 (9개, 0부터 시작함) 

range(1,6) -> 슬라이싱과 동일함 1부터 6 전까지. 0 1 2 3 4 5

range(1,10,2) -> 1부터 10일 전까지 0 1 2 3 4 5 6 7 8 9 -> 2씩 증가한다 -> 1, 3, 5, 7, 9

함수 호출문 그 자체가 데이터처럼 사용이 됨. 일렬로 나열된 숫자 자료 (= 참조 자료형)

 

end= "" <- 로 공백을 입력하면 print 이후에 줄바꿈이 되던 것을 공백으로 입력하기 때문에 붙여서 출력됨 

 


while 조건 :    -> 조건이 참이면 실행한다. 

 print("반복")   -> 조건이 True 면 실행하고 끝나는 if 조건문과 다르게 while 은 False 값이 나올 때까지 반복

 

while 의 조건문이 참인 동안에~  하단을 반복한다

 


반복문에 포함되는 키워드 

- break :  반복문을 무조건 끝낸다. 

- continue : 반복문의 처음으로 돌아간다. 

 

반복문은 연습을 많이 하는 것이 중요! 

 

<반복문 연습문제>

1에서 100까지의 숫자 중 0을 하나만 포함하는 숫자를 출력하는 반복문 함수 작성

ex) 10, 20, 30 ... 90

 

내가 작성한 답

b = []


for a in range(0,101):
    if a%10 == 0 and a != 100 :
        b.append(a)
    else :
        pass

print(b)
 
-> %10으로 나눌 경우 값이 커지면 다음 숫자를 계산하는 것이 어려울 수 있다. 
 
 
다른 답
 for i in range(1,101):
    if str(i).count('0')==1:
        print(i)
 
-> 반복문으로 나온 값 i 를 문자열로 바꾼 뒤 문자열 0을 하나만 포함하는 값을 프린트.
값이 커져도 쉽게 출력할 수 있다. 
.count() <- 포함이 된 값의 개수를 세는 함수 
 
 
<반복문 연습문제>
 
for 문을 이용하여  다음과 같은 출력 만들기 
55555
4444
333
22
1
 
 
내가 작성한 답
for i in range(5,0,-1):
   a= str(i) * i
   print(a)
 

다른 답

for i in range(5,0,-1):

 for j in range(i):

  print(i, end='')

 print()

반응형