티스토리 뷰

for loop in  python is a bit difference than for loop in C.

 

In C, 

#include <stdio.h>

int main()
{
    for (int i = 0; i < 100; i++)    // 0부터 99까지 증가하면서 100번 반복
    {
        printf("Hello, world!\n");
    }

    return 0;
}

Variable 'i' works as a loop count or variable with a loop count.

 

 

 

 

for loop in Python,

 

for variable in list


Example 1)

>>> test_list = ['one', 'two', 'three'] 
>>> for i in test_list: 
...     print(i)

 

Above for loop will print 

one
two
three

Values in list put in variable 'i' and list has three, so it loop three times.

 

 

Example 2)

>>> a = [(1,2), (3,4), (5,6)]
>>> for (first, last) in a:
...     print(first + last)

Each array value in list puts variable of array format,this list has three, so it loop three times 

 

Above for loop will print 

3 #1+2
7 #3+4
11 #5+6

 

 

 

Example 3)

marks = [90, 25, 67, 45, 80]

number = 0 
for mark in marks: 
    number = number +1 
    if mark >= 60: 
        print("No.%d student passed ." % number)
    else: 
        print("No.%d student failed" % number)

 

In above, 'mark' is variable. So when it starts first loop, first vaule(90) in list 'marks' puts variable 'mark' 

The reason list named 'marks' is, this list has several values. So we just give name to list added '-s'.

The reason variable named 'mark' is, in one loop, this variable get only one value of list 'marks'. So programmer just give name to variable not added'-s'.

In other words, it is the same statement

for mark in marks = for i in marks = for pizza in marks 

 

After that, according to 'if' conditional statement, variable mark(90) get judgement over 60 or not.

'Number' indicated order in array.

 

Above for loop will print 

No.1 student passed.#90
No.2 student failed. #25
No.3 student passed. #67
No.4 student failed. #45
No.5 student passed. #80

List 'marks' has five values so this loop has five.

 

 


 

파이썬의 for문은 C언어의 for문과 좀 다른 느낌이다.

 

C언어는 아래 코드에서 보다시피

#include <stdio.h>

int main()
{
    for (int i = 0; i < 100; i++)    // 0부터 99까지 증가하면서 100번 반복
    {
        printf("Hello, world!\n");
    }

    return 0;
}

매개변수 i를 사용해서 루프 횟수, 변수를 통한 여러 구현 등을 하는 느낌인데

 

파이썬의 for 문은 형식부터가 다르고, List라고 불리는 데이터의 수의 따라 for문을 결정하고 매개변수 i의 역할?을 정하는 느낌이다.

 

for variable in list

위의 기본 문법에서 보다시피 variable과 list로 구성되어 있다.

실례로,

>>> test_list = ['one', 'two', 'three'] 
>>> for i in test_list: 
...     print(i)

매개변수 i list 의 값들인 one, two, three로 정의되며 list의 총 개수인 3번 loop를 돈다.

 

둘째로, 

>>> a = [(1,2), (3,4), (5,6)]
>>> for (first, last) in a:
...     print(first + last)

 

매개변수 자리에는 위에 코드처럼 아예 형식을 지정해 줄 수도 있다. 즉 위에서 매개변수는 2개이며, 배열  형식으로 선언되어 있다.

그리고 list인 a의 값들을 각각의 매개변수 안에 넣어준다.

그러니까, 첫 loop에서

first = 1 , last =2로 정의된다.

 

그리고 정의된 매개변수들을 더해주는 작업을 진행하는 것이다.

 

 

셋째 예시로,

marks = [90, 25, 67, 45, 80]

number = 0 
for mark in marks: 
    number = number +1 
    if mark >= 60: 
        print("No.%d student passed ." % number)
    else: 
        print("No.%d student failed" % number)

내가 가장 햇갈렸던 부분! for 문을 제대로 공부를 안하고 해당 코드를 봐버리니

나는 python에서 s를 붙이고 안붙이는게 뭔가 특별한 문법이 있는 줄 알았다.

 

하지만 그냥 보기 쉽게.. list를 s를 붙인 걸로 이름을 정의하고, 매개변수를 s를 뺀걸로 비슷하게 보이도록 정의 했을 뿐이다.

 

즉, marks 라고 정의한 list는 여러개의 값을 가지고 있기 때문에 mark's'라고 그냥 명명한거고,

각각의 for loop에서 mark는 list인 marks의 하나의 값으로 정의 되기 때문에 그냥 편의상 mark라고 명명한 것이다.

 

for mark in marks가 아닌 for i in marks 라고 해도 완전히 무방한거... 그냥 이해하기 쉽게 리스트는 s 를 붙여서 명명, 변수는 s를 빼고 명명하도록 만든것이다. 흠터레스팅

 

어쨋든 각각의 코드 결과는 영문본에 출력되어있으니 참고 하길!

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함