Blair  - Soul Eater 3. 데이터 분석을 위한 핵심 Tool Python(김상모 강사님)_06

• 패스트캠퍼스 데이터분석 부트캠프 12기

3. 데이터 분석을 위한 핵심 Tool Python(김상모 강사님)_06

oujin 2024. 1. 9. 15:18
728x90

for문과 while문 차이점

- for 시퀀스 객체

- while 조건


▶ while 문법

초기식
while 조건식
    반복할코드
    변화식
i = 0
while i <5:
    print("hello world!")
    i +=1

 

 

▶ while문 숫자 반대로 출력

i = 100
while i >0:
    print("hello world!",i)
    i -=1

 

 

▶ while문 입력받은 숫자만큼 반복

num = int(input("반복할 횟수 입력하세요: "))

while i <num:
    print("hello world!",i)
    i +=1

 

 

▶ while문 입력받은 숫자의 역순대로 반복 출력

num = int(input("반복할 횟수 입력하세요: "))
while num >0:
    print("hello world!",num)
    num -=1

 

 

▶1부터 10까지 공백으로 출력하기

#for문
for i in range(1,11,1):
    print(i,end='  ')
    
    
#while문
i=1
while i <=10:
    print(i, end="  ")
    i+=1

 

 

▶ -50~1까지의 수를 출력하는 프로그램을 작성. 시작값은 달라질 수 있다.(-49~1)
한줄에 5개씩 탭으로 구분하여 출력후 5개 이후에는 줄을 바꿔 출력해라

while ↓

num = int(input(" "))
count=0
while num <=1:
    print(num, end='\t')
    num +=1
    count +=1
    if count % 5 ==0:
        print()
i = -50
count = 1
while i <= 1:
    print(i, end = '\t')
    
    if count%5 == 0:
        print()
    
    i+=1
    count +=1

for

num = -50
count = 0
for i in range(num,2):
    print(i,end='\t')
    count+=1
    if count %5==0:
        print()

 

 

▶ 하나의 정수를 입력받아 1부터 입력받은 수까지 더하는 코드

#while
num = int(input(""))
total = 0
i=1
while i <= num:
    total +=i
    i+=1
print(total)
#for
num = int(input(""))
total = 0
for i in range(1,num+1):
    total +=i
    i+=1
print(total)

 

 

▶while 구구단,  for 구구단

# while문
dan = int(input(""))
i=1
while i <10:
    print(dan,"X",i,"=",dan*i)
    i+=1
# for문
dan = int(input(""))
for i in range(1,10):
    print(dan,"X",i,"=",dan*i)

 

 

▶while,  for 리스트 인덱스 접근

# while문
marks = [90,25,67,45,80]
i =0
L=len(marks)
while i < L:
    if marks[i] >=60:
        print(f"{i+1}번 학생은 합격입니다.")
    else:
        print(f"{i+1}번 학생은 불합격입니다.")
    i+=1
# for문
marks = [90,25,67,45,80]
count = 1
for i in marks:
    if i>=60:
        print(count,"번 학생은 합격입니다.")
    else:
        print(count,"번 학생은 불합격입니다.")
    count +=1

 

 

▶특정점수 만족하는 학생만 출력

marks = [90,25,67,45,80]
i =0
L=len(marks)
while i < L:
    if marks[i] >=60:
        print(f"{i+1}번 학생축하합니다. 합격입니다.")
    else:
        pass
    i+=1
# for문
marks = [90,25,67,45,80]
a = int(len(marks))
for i in range(a):
    if marks[i]>=60:
        print(f"{i+1}번 학생축하합니다. 합격입니다.")

 

 

▶ while, for 반복문을 이용하여 평균점수 구하기

# while
kor = [70,60,55,75,95,90,80,80,85,100]
i=0
sum=0
while i<len(kor):
    sum+=kor[i]
    i+=1
print(sum/len(kor))

# for
kor = [70,60,55,75,95,90,80,80,85,100]
sum = 0
for i in kor:
    sum +=i
print(sum/len(kor))

 

 

▶ while , for 2의 20승 구하기

# while
i = 1
result = 1
while i<=20:
    result=result*2
    i+=1
print(result)

# for
result=1
for i in range(20):
    result = result*2
print(result)

 

 

▶ while 윤년 구하기

year = 1
while year>0:
    year = int(input("연도를 입력하세요: "))
    if year>0:
        print("잘못된 값 입력, 종료")
        break
    elif year % 4==0:
        if year %400 ==0:
            print("윤년입니다.")
        elif year % 100==0:
            print("평년입니다.")
        else:
            print("윤년입니다.")
    else:
        print("평년입니다.")
flag = False
year = 1
while year > 0:
    year = int(input("연도를 입력하세요 :"))
    if year > 0:
        if year % 400 ==0:
            flag = True
        elif year % 100 ==0:
            flag = False
        elif year % 4 == 0:
            flag = True
        else:
            flag = False

        if flag == True:
            print(year,"년은 윤년입니다.")
        else:
            print(year,"년은 평년입니다.")
    else:
        print("종료합니다.")
year = 0
while year >= 0:
    year = int(input("연도를 입력하세요: "))
    if (not year%400) or ((not year % 4) and year % 100):
        print("윤년")
    else:
        print("평년")

 

 

728x90