Python study

6일차

while문


while문 예제

  1. for vs while 구구단 출력
# for
for i in range(2, 10):
    for j in range(1, 10):
        print("{} x {} = {}".format(i,j,i*j))
    print()

# while
i = 2
while i < 10:
    j = 1
    while j < 10:
        print("{} x {} = {}".format(i,j,i*j))
        j += 1
    i += 1
    print()
  • .format()을 사용하면 보다 자연스럽게 출력을 작성 할 수 있다.
  • while은 i,j를 직접 지정을 해줘야 한다.
  1. 사용자가 0을 입력할 때까지 반복하기
while 1:
    su = int(input("수 입력 : "))
    if su == 0:
        break
  • while True: (무한 반복), while 1: (무한 반복)
  1. 사용자가 q 를 입력할 때까지 반복하기
while 1:
    user = input("q 입력하면 종료 : ")
    if user == 'q':
        break
  • q는 문자이기 때문에 int(input())이 아니라 input()그대로 작성해준다.
  1. q를 누를때까지 숫자들을 리스트에 담는것
li = []

while 1:
    user = input("수 입력(q를 입력하면 종료): ")
    if user == 'q':
        break
    li.append(int(user))

print(li)
  • 문자를 입력하면 종료되는 부분 : input()
  • 숫자들을 리스트에 담는 부분 : li.append(int(user))
  • if문의 순서가 중요하다. li.append()보다 뒤에 작성되면 userint(user)로 형변환을 시켜줬기 때문에 에러가 난다.
  1. 종료를 누를때까지 숫자들의 합을 출력
li = []

while 1:
    user = input("수 입력(q를 입력하면 종료): ")
    if user == 'q':
        break
    li.append(int(user))

print("{} 이 값들의 총 합은 : {}".format(li, sum(li)))
  1. 종료를 누를때까지 숫자들의 평균을 출력
li = []

while 1:
    user = input("수 입력(q를 입력하면 종료): ")
    if user == 'q':
        break
    li.append(int(user))

avg = sum(li)/len(li)
print(avg)
  1. 종료를 누를때까지 숫자들의 평균, 그 이상인 숫자들 출력
li = []

while 1:
    user = input("수 입력(q를 입력하면 종료): ")
    if user == 'q':
        break
    li.append(int(user))

avg = sum(li)/len(li)
print(avg)
  • 여기까지는 평균을 구하는 예제와 같다.
for i in li:
    if i >= avg:
        print(i)
  • 범위가 정해져 있을 때 유용한 for문을 통해서 평균 이상의 수들을 출력하는 구문을 작성한다.
  • for문과 while문을 적절히 섞어가며 구문을 작성할 수 있다.
profile
내 꿈은 멋쟁이개발자

0개의 댓글