Python - For (반복문)

닉네임유저·2023년 7월 31일

Python - 기초 문법

목록 보기
7/13
post-thumbnail

For - 값이 정해져 있는 반복문


반복문 중에서 가장 많이쓰이는 for문입니다.

반복작업을 수행하는 제어문으로서 , 시퀀스 (리스트 , 튜플 , 문자열) 등의 각 요소를 하나씩 순회 하면서 반복적인 작업을 수행하는 역할을 합니다.

for 요소 in 시퀀스:

  • 반복작업을 수행한다.
  • 요소를 활용한 작업을 한다.

선언 : for 요소 in 시퀀스:

for i in range(10):
	print('Hello World!') 

fruits = ["apple", "banana", "orange", "grape"]

for fruit in fruits:
    print(fruit)

튜플을 순회하는 예제

number = (1,2,3,4,5,6)

for num in number:
    print(num)

변수에 적혀있는 글자 하나하나를 꺼내오고 , 출력

temp = "Nick_name_User"

for char in temp:
    print(char)

range 함수 - 특정 구간의 숫자 범위를 만들어줍니다. (특정 횟수 만큼 반복 가능)

range(최소값, 최대값, 증가값)

최대값의 n - 1 값을 기억해야한다.

# range 함수가 1개일때
for i in range(5):
    print(i)

# range 함수가 2개일때
for i in range(2, 8):
    print(i)

# range 함수가 3개일때 
for i in range(1, 11, 2):
    print(i)

range()를 사용하여 별찍어서 놀아보기

# *
# **
# ***
# ****

for i in range(1, 5):
    print('*' * i)


# ****
# ***
# **
# *

for i in range(4,0,-1):
    print('*' * i)


#    *
#   **
#  ***
# ****

for i in range(1,5):
    print(' ' * (4 - i) + '*' * i)

# ****
#  ***
#   **
#    *

for i in range(1,5):
    print(' ' * i + '*' * (5 - i))


#   *
#  * *
# * * *

for i in range(1,4):
    print(' ' * (3 - i) + ' *' * i)


# * * *
#  * *
#   *

for i in range(1,4):
    print(' ' * i + '* ' * (4 - i))


#   *
#  * *
# * * *
#  * *
#   *

for i in range(1,4):
    print(' ' * (4 - i) + ' *' * (i - 1))

for i in range(1,4):
    print(' ' * i + '* ' * (4 - i))

1~100 합하기

temp_sum = 0

for i in range(1,101):
    temp_sum += i

print('1~100 합하기 : ',temp_sum)

list 의 자료형 반복

iterables 객체 - 반복 가능한 객체

items = ['soda','coke','cider','peper']

for item in items:
    print('음료 : ',item)

    
# dict 의 자료형 반복

student_scores = {'John': 85, 'Jane': 92, 'Tom': 78, 'Alice': 95}
for name,score in student_scores.items():
    print(f'{name} 의 점수 : {score}')

로또 번호 찍기

import random 내장 함수 모듈 삽입

not in : 특정원소가 시퀀스(리스트, 문자열 등) 에 포함되어 있지 않다.

import random

random_number = []

for i in range(7):
    print(random.randint(1,46),end=" ")
    
# 조금 더 심화버전으로 들어가면

# 리스트는 중복이 된다.
list_ = []

while len(list_) < 7:
    rand_int = random.randint(1,45)
    if rand_int not in list_:
        list_.append(rand_int)
print(list_)

while len(list_) < 7:
    rand_int = random.randint(1,45)
    for i in range(rand_int):
        if rand_int not in list_:
            list_.append(rand_int)
print('range_list 출력1',list_)

while len(list_) < 7:
    for rand_int in range(1,45):
        if rand_int not in list_:
            list_.append(rand_int)
            break
print('range_list 출력2',list_)

# 위쪽 range 함수를 썼을때 나오는 값은 같다. - id로 확인
print(id(list_))


# for 문 만을 사용한 중복이 되지 않는 로또번호
import random

lotto_ = []

for i in range(45):
    if len(lotto_) < 7:
        rand_int = random.randint(1, 45)
        if rand_int not in lotto_:
            lotto_.append(rand_int)
    else:
        break
print(lotto_)



# set을 쓰는 버전 - set() 은 중복이 되지 않습니다.
lotto = set()

while len(lotto) < 7:
    num = random.randint(1,45)
    lotto.add(num)

print(f'로또 번호 출력 : {lotto}')

Dictionary 요소 가져오기

temp_info = {"item": 'coke',
             "price": 2000,
             "quantitiy": 10
            }

# key 가져오기
for k in temp_info:
    print('key : ',temp_info[k])
    
# value rkwudhrl
for v in temp_info.values():
    print('Value : ',v)

temp_number = [1,2,3,4,5,6,7,8,9,10]

# break
for i in temp_number:
    if i == 7:
        break
    else:
        print('찾지 못함',i)

# continue
for i in temp_number:
    if i == 4:
        continue
    else:
        print('찾지 못함',i)
        break

구구단

for i in range(2, 10):  # 2부터 9까지 숫자를 순회하며 구구단의 단을 결정
    print(f"{i}단:")
    for j in range(1, 10):  # 1부터 9까지 숫자를 순회하며 각 단의 곱셈을 수행
        result = i * j
        # f-string 을 쓰면 좀 더 쉽게 보여짐
        print(f"{i} x {j} = {result}")
    print()  # 한 단의 출력이 끝나면 빈 줄을 출력하여 구분

list 의 인덱스값 찾기 for문 반복

menus = ['청화','백화','삼화']
prices = [100, 200, 300]

while True:
    selected_menu = input('메뉴를 골라주세요: ')

    found_menu = None
    idx = 0

    for i in range(len(menus)):
        if menus[i] == selected_menu:
            found_menu = menus[i]
            idx = i
            break

    if found_menu:
        print(f"선택하신 메뉴는 '{found_menu}'이며, 가격은 {prices[idx]}원입니다.")
        break
    else:
        print("잘못된 입력입니다. 다시 선택해주세요.")
profile
이것저것 다해보는 개발자

0개의 댓글