본문 바로가기
#03.인프런/+01.파이썬입문

[python] 기초 반복문

by 돌비오 2023. 3. 4.
728x90
반복문 (for)
for data in 리스트변수:
    실행코드

for i in ["python", "java", "golang"]:
    print(i)

=>
i = "python"
print(i)
i = "java"
print(i)
i = "golang"
print(i)



for data in range(반복횟수):
    실행코드

for i in range(3):                                              # range(3)      ㅡㅡ>  [0, 1, 2]
    print(i)                                                            range(1, 5)  ㅡㅡ>  [1, 2, 3, 4]

=>
i = 0
print(i)
i = 1
print(i)
i = 2
print(i)

 

 

Q) 1부터 10까지 합한 값은?

sum = 0
for i in range(1,11):      # 숫자 1부터 시작해서 숫자11 바로 전(=10)까지
    sum = sum + i          # 이런 식은 오른쪽부터 계산되고 왼쪽이 새로 업데이트됨.

print(sum)

=> 55

 

 

 

반복문 (while)
i = 0
while i <= 3:                                  # i 가 3보다 작거나 같은게 '참일 동안' 아래 코드를 반복한다.
    print(i)
    i = i +1

=>
i = 0
if i <= 3 :
    print(i)
    i = i + 1
if i <= 3 :
    print(i)
    i = i + 1
if i <= 3 :
    print(i)
    i = i + 1
if i <= 3 :
    print(i)
    i = i + 1



while 1:                                                                          # 1은 참. 그러므로 무한반복한다.
    print("hello world!")                             

 

 

 

문제활용

Q)  1 ~ 10까지의 숫자에 대해 모두 더한 값을 출력하는 프로그램을 for 문을 사용하여 작성하세요.

# 일단 합계를 구할때는 sum 변수를 선언한다.
sum = 0

for index in range(1, 11):
    sum = sum + index                                 # 합계는 합계자신에 무언가 숫자가 계속 더해지는 것!
    print (sum, index)                                    # 그리고 잘모를때는 하나하나 프린트해본다.

=> 
1 1
3 2
6 3
10 4
15 5
21 6
28 7
36 8
45 9
55 10
# index는 1씩 증가하고 sum은 그런 인덱스가 계속 더해지고 있다.
   그렇니까 print(sum)만 하면 되겠지


sum = 0

for index in range(1, 11):
    sum = sum + index
print (sum)

=> 55

 

 

Q) 사용자로부터 , 로 구분된 여러 이름을 입력받아서, 한 줄에 하나씩 이름을 출력하세요


사용자 입력: Dave,David,Andy,Arthor
출력 예:
Dave
David
Andy
Arthor

 

data = input()

data_list = data.split(",")
for str_data in data_list:                                         # 리스트를 FOR문으로 돌려서 분해하기. 기억!
    print (str_data)

=>
Dave,David,Andy,Arthor
Dave
David
Andy
Arthor

 

 

 

Q) 다음 리스트 변수에서 음수 데이터를 삭제하고, 양수만 가진 리스트 변수로 만들고, 해당 변수를 출력하세요.

 

num_list = [0, -11, 31, 22, -11, 33, -44, -55]

 

plus_list = list()        # 문제를 잘보고 어떤 변수를 먼저 선언해야하는지 생각해라. 구하는게 무엇인가?
num_list = [0, -11, 31, 22, -11, 33, -44, -55]

for num in num_list:
    if num >= 0:
        plus_list.append(num)      # 변수로 선언한 빈 리스트(plus_list) 에 양수라는 조건을 가진 데이터만 append!

print (plus_list)

=>
[0, 31, 22, 33]
728x90