for 변수 in 리스트or튜플or문자열
수행할문장..
test_list = ['one','two','three']
for i in test_list :
print(i)
a=[(1,2), (3,4), (5,6)]
for (first, last) in a :
print(first,last)
print(first+last)
print("\n")
a 리스트의 요솟값이 튜플이기 때문에, 자동으로 first, last변수에 대입된다된다
Q. 5명의 학생점수는 98,72,53,61,88 이고, 70점이 못 넘으면 불합격이다.
불합격 학생의 번호는? (앞에서부터 1번임)
score=[98,72,53,61,88]
number = 1
for i in score :
if(i>70) :
print("%s번은 합격" %number)
else :
print("%s번은 불합격" %number)
number+=1
하면 3, 4번이 불합격학생의 번호이다
while문과 마찬가지로 continue를 쓰면 for문 처음으로 돌아간다
불합격학생에게 재시험을 본다고 문자를 주기 위해 코드를 작성하면코드를 작성하면
score=[98,72,53,61,88]
number = 0
for i in score :
number +=1
if(i>70) :
continue
else :
print("%s번째는 불합격 재시험ㄱㄱ" %number)
for문은 숫자 리스트를 자동으로 만들어주는 range 함수와 함께 사용하는 경우가 많다고 한다
a=range(10)
print(a) = range(0,10)
b=range(2,13)
print(b) = range(2,13)
끝숫자는 포함되지 않음, 리스트 슬라이싱과 똑같은 이상~미만
add = 0
for i in range(1,11) :
add+=i
print(add)
i는 1부터 값이 들어갈테고
i=1
add=add+i에서 add+i=0+1=1이 된다
이렇게 add는 1,2,... 이렇게 되고 최종 add의 값은 55가 돼서 print(add)하면 55출력
앞서 70점이상이면 합격 예제를 만들었는데
score=[98,72,53,61,88]
for num in range(len(score)) :
if score[num] > 70 : continue
else : print("%s번쨰는불합격ㅜ" %(num+1))
num이라는 변수의 길이는 score의 길이인 5가 된다
즉, 5번의 루프가 돌아가게됨
for i in range(2,10) :
for j in range(1,10) :
print(i*j, end=" ")
print('')
가 된다
for i in range(2,10) :
for j in range(1,10) :
print(i*j)
이렇게하면
2
4
6
..
이렇게 나오게 돼서 end를 붙인건데
end는 열전개를 행전개로 바꿔준다
두 번째 for문이 끝나면 첫 번째 for문에서 i가 2->3으로 바뀌는데
3단부터는 다음행에 표기해줘야 하므로 print를 추가해서 행을 넘김넘김
그러면 2단 마지막에 2x9가 끝나고 print('')로 인해 한 칸 넘어감
print("\n")을 해도 되는데, print와 \n을 하면 두칸을 띄어쓰기 하게 되므로 print('')를 사용
리스트 안에 for문을 포함하는 리스트 내포를 사용하면 더 편리하다고.....한다..
a=[1,2,3,4]
result=[]
for num in a :
result.append(num*3)
print(result)
이렇게 해서 result라는 리스트에 값을 넣을 수 있다
이걸 리스트내포를 이용해 간단히 한다면
a=[1,2,3,4]
result = [num * 3 for num in a]
print(result)
여기서 짝수만 담고 싶다면
a=[1,2,3,4]
result = [num * 3 for num in a if num%2==0]
print(result)
기본적인 문법은 [표현식(넣으려는 값) for ? in 객체 if 조건문] 이다
for문을 여러개 사용하는 것도 가능하다
[표현식 for ? in 객체 if 조건문
for .... if
for...if
]
이렇게;;