while ,for 반복문

suyeon lee·2021년 4월 16일
0

python

목록 보기
4/11

파이썬 반복문 두가지
for는 횟수를 기준으로 while은 조건을 기준으로 반복함

  • while반복문
1.
count = 0
while count < 3:
    print(f'횟수 : {count}')
    count = count+1

print('종료')

출력결과
1
2
3
종료

2.
name = ''
while name != '펭수':
    name = input('펭수를 입력하시오 :')  # 펭수가 입력될때까지 무한반복함
print('Thank you!')

input에 펭수가 적힐때까지 무한반복함
  • while문의 continue break
count = 0
while count < 10:
    count += 1
    print(count)
    if count < 4:
        continue
    if count == 8:
        break

실습예제

간단한 커피자판기 동작
커피값은 300 원 커피는 총10개
300원보다 돈이많이 들어오면 잔돈을주고 동작
300원보다 적은돈이 들어오면 동작안함

coffee = 10  # 커피 수량 10개

while True:  # 무한 반복
    print(f"남은 커피의 양은 {coffee}개 입니다.")
    money = int(input("커피 한잔에 300원 입니다. 돈을 넣어 주세요 : "))
    # 입금한 돈이 300원일때 더 클때, 작을 경우 처리 if elif else
    if money == 300:
        print("커피를 줍니다.")
        coffee = coffee - 1
    elif money > 300:
        print(f"거스름돈 {money-300}를 주고 커피를 줍니다.")
        coffee = coffee - 1
    else:
        print("돈을 다시 돌려주고 커피를 주지 않습니다.")

    if coffee == 0:
        print("커피가 다 떨어졌습니다. 판매를 중지 합니다.")
        break
  • for문
# for 변수명 in [, ,]<-리스트임 자바에 배열같은거임
# 리스트안에 있는 내용을 반복해서 하나씩 출력함

for n in [1, 2, 3]:
    print(n)

# for 문자열 (문자열도 인덱스가있음)
for c in '홍길동':
    print(c)
  • range() for문과 함께자주사용되는 내장함수
    range(시작값,끝값)
    #문자열 슬라이싱한거와 비슷함
# range(3) 시작값이 없는경우 0~끝값전까지 반복
for i in range(3):
    print(i)

# range(5,9)는 시작값에서 부터 끝값전까지 반복출력됨
for i in range(5, 9):
    print(i)
    

실습예제

구구단 출력

#i는 단을 j는 뒤에 곱해질 값들을 반복함

for i in range(2, 10):
    print('\n')
    for j in range(1, 10):
        print(f'{i} x {j} ={i*j}')

전체 실습예제

  1. 1~1000까지 숫자중 3의 배수의 합을구하세요.
i = 1
result = 0

while i <= 1000:
    if i % 3 == 0: #i를 3으로 나눈 나며지가 0이면 3의 배수이다
        result += i
    i += 1

print(result)
*
**
***
****
*****
모양을 반복문을 사용해 출력하세요
n = 5
i = 1

while i <= n:
    print('*'*i)
    i += 1
print()


for문 사용

for i in range(1, n+1):
    print('*'*i)
    i += 1
print()

0개의 댓글