본문 바로가기
Study/Python

[Python] 반복문

by YoungD 2023. 10. 7.

 

반복문

  • while문 
In [1]:
num1, num2 = 0, 1
while num1 != 0 or num2!=0 :
    num1 = int(input('첫 번째 정수 : '))
    num2 = int(input('두 번째 정수 : '))
    
    if num1 != 0 or num2!=0 :
        print(f"두 수의 합 : {num1+num2}")
print('프로그램 종료')
첫 번째 정수 : 3
두 번째 정수 : 4
두 수의 합 : 7
첫 번째 정수 : 0
두 번째 정수 : 0
프로그램 종료

 

실습

In [2]:
import random

randomNumber = random.randint(1,50)
print(randomNumber)

while True :
    inputNum = int(input('숫자를 입력하세요 >> '))
    if randomNumber > inputNum :
        print(f'{inputNum}보다 큰 수 입니다.')
    elif randomNumber < inputNum:
        print(f'{inputNum}보다 작은 수 입니다.')
    elif randomNumber == inputNum :
        print("정답을 맞추셨습니다.")
    break
16
숫자를 입력하세요 >> 100
100보다 작은 수 입니다.

 

for문

In [3]:
list_food = ['삼겹살','김치볶음밥','파스타']
for food in list_food :
    print(food)
삼겹살
김치볶음밥
파스타
In [4]:
str1 = '안녕하세요'
for s in str1 :
    print(s)
안
녕
하
세
요
In [5]:
tuple_food = ('삼겹살','김치볶음밥','파스타','짬뽕')
for food in tuple_food :
    print(food)
삼겹살
김치볶음밥
파스타
짬뽕
In [6]:
score_list = [90,45,70,60,55]
cnt = 1
for score in score_list :
    if score >= 60 :
        print('{}번 학생은 합격입니다.'.format(cnt))
    else :
        print('{}번 학생은 합격입니다.'.format(cnt))
    cnt+=1
#         print('{}번 학생은 합격입니다.'.format(score_list.index(score)+1))
#     else :
#         print('{}번 학생은 불합격입니다.'.format(score_list.index(score)+1))
   
1번 학생은 합격입니다.
2번 학생은 합격입니다.
3번 학생은 합격입니다.
4번 학생은 합격입니다.
5번 학생은 합격입니다.
In [7]:
list1 = [[1,2],[3,4],[5,6]]
# print(len(list1))
for li in list1 :
    print(li)
    for i in li :
        print(i)
    print('------')
[1, 2]
1
2
------
[3, 4]
3
4
------
[5, 6]
5
6
------
In [8]:
list1 = [[1,2],[3,4],[5,6]]
for n1, n2 in list1 :
    print(n1, n2)
1 2
3 4
5 6
In [9]:
a, b = (10, 15)
print(a, b)
10 15

range

In [10]:
for num in range(1,11,1):
    print(num, end='-')
1-2-3-4-5-6-7-8-9-10-
In [11]:
for num in range(1, 101, 10):
    print(num//10+1, end=' ')
1 2 3 4 5 6 7 8 9 10 
In [12]:
# 안녕하세요 5번 출력
for i in range(5,10,1):
    print('안녕하세요')
안녕하세요
안녕하세요
안녕하세요
안녕하세요
안녕하세요
In [13]:
for i in range(1,5) :
    print(i, end=' ')
1 2 3 4 
In [14]:
for i in range(0,7,2):
    print(i, end=' ')
0 2 4 6 
In [15]:
start = int(input('첫 번째 정수 입력>>'))
end = int(input('두 번째 정수 입력>>'))

for i in range(start, end+1):
    print(i, end=' ')
첫 번째 정수 입력>>10
두 번째 정수 입력>>5
In [16]:
### 실습 가장 큰 수 찾기
list2 = [4,5,2,1,99,15,2,7,27]

maxNum = list2[0]
for n in list2 :
    if maxNum < n :
        maxNum = n
print(maxNum)
99
In [17]:
### 가장 작은 수 구하기
list2 = [-5, -7, -18, -16]

minNum = list2[0]
for i in range(0,len(list2)) :
    if minNum > list2[i] :
        minNum = list2[i]
print(minNum)
-18
In [18]:
import pickle
In [19]:
# pickle 모듈을 이용해 데이터 로드
with open('data/movie_review.pkl', 'rb') as f :
    movie_review = pickle.load(f)
In [20]:
movie_review
Out[20]:
[['아 더빙.. 진짜 짜증나네요 목소리', 0],
 ['흠...포스터보고 초딩영화줄....오버연기조차 가볍지 않구나', 1],
 ['너무재밓었다그래서보는것을추천한다', 0],
 ['교도소 이야기구먼 ..솔직히 재미는 없다..평점 조정', 0],
 ['사이몬페그의 익살스런 연기가 돋보였던 영화!스파이더맨에서 늙어보이기만 했던 커스틴 던스트가 너무나도 이뻐보였다', 1],
 ['막 걸음마 뗀 3세부터 초등학교 1학년생인 8살용영화.ㅋㅋㅋ...별반개도 아까움.', 0],
 ['원작의 긴장감을 제대로 살려내지못했다.', 0],
 ['별 반개도 아깝다 욕나온다 이응경 길용우 연기생활이몇년인지..정말 발로해도 그것보단 낫겟다 납치.감금만반복반복..이드라마는 가족도없다 연기못하는사람만모엿네',
  0],
 ['액션이 없는데도 재미 있는 몇안되는 영화', 1],
 ['왜케 평점이 낮은건데? 꽤 볼만한데.. 헐리우드식 화려함에만 너무 길들여져 있나?', 1],
 ['걍인피니트가짱이다.진짜짱이다♥', 1],
 ['볼때마다 눈물나서 죽겠다90년대의 향수자극!!허진호는 감성절제멜로의 달인이다~', 1],
 ['울면서 손들고 횡단보도 건널때 뛰쳐나올뻔 이범수 연기 드럽게못해', 0],
 ['담백하고 깔끔해서 좋다. 신문기사로만 보다 보면 자꾸 잊어버린다. 그들도 사람이었다는 것을.', 1],
 ['취향은 존중한다지만 진짜 내생에 극장에서 본 영화중 가장 노잼 노감동임 스토리도 어거지고 감동도 어거지', 0],
 ['ㄱ냥 매번 긴장되고 재밋음ㅠㅠ', 1],
 ['참 사람들 웃긴게 바스코가 이기면 락스코라고 까고바비가 이기면 아이돌이라고 깐다.그냥 까고싶어서 안달난것처럼 보인다', 1],
 ['굿바이 레닌 표절인것은 이해하는데 왜 뒤로 갈수록 재미없어지냐', 0],
 ['이건 정말 깨알 캐스팅과 질퍽하지않은 산뜻한 내용구성이 잘 버무러진 깨알일드!!♥', 1],
 ['약탈자를 위한 변명, 이라. 저놈들은 착한놈들 절대 아닌걸요.', 1],
 ['나름 심오한 뜻도 있는 듯. 그냥 학생이 선생과 놀아나는 영화는 절대 아님', 1],
 ['보면서 웃지 않는 건 불가능하다', 1],
 ['재미없다 지루하고. 같은 음식 영화인데도 바베트의 만찬하고 넘 차이남....바베트의 만찬은 이야기도 있고 음식 보는재미도 있는데 ; 이건 볼게없다 음식도 별로 안나오고, 핀란드 풍경이라도 구경할랫는데 그것도 별로 안나옴 ㅡㅡ',
  0],
 ['절대 평범한 영화가 아닌 수작이라는걸 말씀드립니다.', 1],
 ['주제는 좋은데 중반부터 지루하다', 0],
 ['다 짤랐을꺼야. 그래서 납득할 수 없었던거야.. 그럴꺼야.. 꼭 그랬던걸꺼야..', 0],
 ['kl2g 고추를 털어버려야 할텐데', 1],
 ['카밀라벨 발연기', 0],
 ['재밋는뎅', 1],
 ['센스있는 연출력..탁월한 캐스팅..90년대의 향수.. 그래서 9점..', 1],
 ['엄포스의 위력을 다시 한번 깨닫게 해준 적.남 꽃검사님도 연기 정말 좋았어요! 완전 명품드라마!', 1],
 ['졸쓰레기 진부하고말도안됌ㅋㅋ 아..시간아까워', 0],
 ['재밌는데 별점이 왜이리 낮은고', 1],
 ['1%라도 기대했던 내가 죄인입니다 죄인입니다....', 0],
 ['아직도 이 드라마는 내인생의 최고!', 1],
 ['패션에 대한 열정! 안나 윈투어!', 1],
 ['키이라 나이틀리가 연기하고자 했던건 대체 정신장애일까 틱장애일까', 0],
 ['허허...원작가 정신나간 유령이라... 재미있겠네요!', 1],
 ['포스터는 있어보이는데 관객은 114명이네', 0],
 ['이 영화가 왜 이렇게 저평가 받는지 모르겠다', 1],
 ['단순하면서 은은한 매력의 영화', 1],
 ["'다 알바생인가 내용도 없고 무서운거도 없고 웃긴거도 하나도 없음 완전 별싱거운 영화.ㅇ.ㅇ내ㅇ시간 넘 아까움 .. . 완전 낚임",
  0],
 ['오게두어라! 서리한이 굶주렸다!', 1],
 ['정말 맘에 들어요. 그래서 또 보고싶은데 또 보는 방법이 없네? >.. ㅜㅡ', 1],
 ['윤제문이라는 멋진 배우를 발견하게 됐어요. 소소한 일탈이 잔잔한 미소를 머금게 합니다. 음악은 조금 아쉽네요ㅠㅠ 8점 주고 싶은데 평점 올리고 싶어 10점 줄게요^^',
  1],
 ['평점에속지마시길시간낭비 돈낭비임', 0],
...........................................................
In [21]:
# 전체 리뷰 개수 확인
len(movie_review)
Out[21]:
5000
In [22]:
print(movie_review[2][0])
print(movie_review[2][1])
너무재밓었다그래서보는것을추천한다
0

리뷰 길이 평균값

In [23]:
# 리뷰 길이의 합을 구하고 5000으로 나누기
# 리뷰 길이의 합

total = 0
for i in range(len(movie_review)) :
    total +=(len(movie_review[i][0]))
print("리뷰의 평균 길이는 '{}'입니다.".format(total/len(movie_review)))
리뷰의 평균 길이는 '35.4866'입니다.
In [24]:
total = 0
for txt, pn in movie_review :
    print(txt)
    total += len(txt)
print("리뷰의 평균 길이는 '{}'입니다.".format(total/len(movie_review)))
아 더빙.. 진짜 짜증나네요 목소리
흠...포스터보고 초딩영화줄....오버연기조차 가볍지 않구나
너무재밓었다그래서보는것을추천한다
교도소 이야기구먼 ..솔직히 재미는 없다..평점 조정
사이몬페그의 익살스런 연기가 돋보였던 영화!스파이더맨에서 늙어보이기만 했던 커스틴 던스트가 너무나도 이뻐보였다
막 걸음마 뗀 3세부터 초등학교 1학년생인 8살용영화.ㅋㅋㅋ...별반개도 아까움.
원작의 긴장감을 제대로 살려내지못했다.
별 반개도 아깝다 욕나온다 이응경 길용우 연기생활이몇년인지..정말 발로해도 그것보단 낫겟다 납치.감금만반복반복..이드라마는 가족도없다 연기못하는사람만모엿네
액션이 없는데도 재미 있는 몇안되는 영화
왜케 평점이 낮은건데? 꽤 볼만한데.. 헐리우드식 화려함에만 너무 길들여져 있나?
걍인피니트가짱이다.진짜짱이다♥
볼때마다 눈물나서 죽겠다90년대의 향수자극!!허진호는 감성절제멜로의 달인이다~
울면서 손들고 횡단보도 건널때 뛰쳐나올뻔 이범수 연기 드럽게못해
담백하고 깔끔해서 좋다. 신문기사로만 보다 보면 자꾸 잊어버린다. 그들도 사람이었다는 것을.
취향은 존중한다지만 진짜 내생에 극장에서 본 영화중 가장 노잼 노감동임 스토리도 어거지고 감동도 어거지
ㄱ냥 매번 긴장되고 재밋음ㅠㅠ
참 사람들 웃긴게 바스코가 이기면 락스코라고 까고바비가 이기면 아이돌이라고 깐다.그냥 까고싶어서 안달난것처럼 보인다
굿바이 레닌 표절인것은 이해하는데 왜 뒤로 갈수록 재미없어지냐
이건 정말 깨알 캐스팅과 질퍽하지않은 산뜻한 내용구성이 잘 버무러진 깨알일드!!♥
약탈자를 위한 변명, 이라. 저놈들은 착한놈들 절대 아닌걸요.
나름 심오한 뜻도 있는 듯. 그냥 학생이 선생과 놀아나는 영화는 절대 아님
보면서 웃지 않는 건 불가능하다
재미없다 지루하고. 같은 음식 영화인데도 바베트의 만찬하고 넘 차이남....바베트의 만찬은 이야기도 있고 음식 보는재미도 있는데 ; 이건 볼게없다 음식도 별로 안나오고, 핀란드 풍경이라도 구경할랫는데 그것도 별로 안나옴 ㅡㅡ
절대 평범한 영화가 아닌 수작이라는걸 말씀드립니다.
주제는 좋은데 중반부터 지루하다
다 짤랐을꺼야. 그래서 납득할 수 없었던거야.. 그럴꺼야.. 꼭 그랬던걸꺼야..
kl2g 고추를 털어버려야 할텐데
카밀라벨 발연기
재밋는뎅
센스있는 연출력..탁월한 캐스팅..90년대의 향수.. 그래서 9점..
엄포스의 위력을 다시 한번 깨닫게 해준 적.남 꽃검사님도 연기 정말 좋았어요! 완전 명품드라마!
졸쓰레기 진부하고말도안됌ㅋㅋ 아..시간아까워
재밌는데 별점이 왜이리 낮은고
1%라도 기대했던 내가 죄인입니다 죄인입니다....
아직도 이 드라마는 내인생의 최고!
패션에 대한 열정! 안나 윈투어!
키이라 나이틀리가 연기하고자 했던건 대체 정신장애일까 틱장애일까
허허...원작가 정신나간 유령이라... 재미있겠네요!
포스터는 있어보이는데 관객은 114명이네
이 영화가 왜 이렇게 저평가 받는지 모르겠다
단순하면서 은은한 매력의 영화
'다 알바생인가 내용도 없고 무서운거도 없고 웃긴거도 하나도 없음 완전 별싱거운 영화.ㅇ.ㅇ내ㅇ시간 넘 아까움 .. . 완전 낚임
오게두어라! 서리한이 굶주렸다!
정말 맘에 들어요. 그래서 또 보고싶은데 또 보는 방법이 없네? >.. ㅜㅡ
윤제문이라는 멋진 배우를 발견하게 됐어요. 소소한 일탈이 잔잔한 미소를 머금게 합니다. 음악은 조금 아쉽네요ㅠㅠ 8점 주고 싶은데 평점 올리고 싶어 10점 줄게요^^
평점에속지마시길시간낭비 돈낭비임
리얼리티가 뛰어나긴 한데 큰 공감은 안간다. 이민기캐릭터는 정신의학상 분노조절장애 초기 증상일거다. 툭하면 사람패고 욕하고 물건 파손하고.. 조금 오바였음. 극 초반엔 신선했는데 가면 갈수록 이민기 정신상태 공감불가.
마이너스는 왜없냐 ㅋ 뮤비 보고 영화수준 딱 알만하더군 ㅉㅉ 북한에서 이런거 만들라고 돈 대주던?
난 우리영화를 사랑합니다....^^;
데너리스 타르 가르엔...나도 용의주인이 되고 싶다...누이랑,근친상간이나 하고 다닐지라도,소설 속에선 제일 멋진 놈이 자이메 라니스터였는데,드라마속에선,드래곤(용)이 제일 멋지네(웃음)감독님 토르-2 다크 월드는 말아 잡수셨을지라도,기본 선방은 했음
.......................................................

 

긍정리뷰/ 부정리뷰 개수

긍정 - 1 부정 - 0
In [25]:
p = 0
n = 0
for txt, pn in movie_review :
    if pn == 0 :
        n +=1
    else :
        p +=1
print(f"긍정 '{p}'개")
print(f"부정 '{n}'개")
긍정 '2499'개
부정 '2501'개
In [26]:
pnTotal = 0
for txt, pn in movie_review :
    pnTotal += pn
print(f"긍정 '{pnTotal}'개")
print(f"부정 '{len(movie_review)-pnTotal}'개")
# print(f"긍정 '{pnLi,count(1)}'개")
# print(f"부정 '{pnLi,count(0)}'개")
긍정 '2499'개
부정 '2501'개
In [27]:
pnLi = []
for txt, pn in movie_review :
    pnLi.append(pn)
pnLi.count(0)
pnLi.count(1)
Out[27]:
2499

 

리뷰길이 최대 값/리뷰 내용 출력하기

In [28]:
maxReview = ''

for txt, pn in movie_review :
    if len(txt) > len(maxReview) :
        maxReview = txt

print("리뷰 최대길이는 '{}'입니다.".format(len(maxReview)))
print(maxReview)
리뷰 최대길이는 '144'입니다.
"상처투성이인 한국인을 위하여 어제는 추기경님이 계셨고 오늘은 교황님께서 치유하시고 가셨습니다. "" 고난이 나를 찾을때 피하고 싶은 내마음은""하시며 노래부르실때는 한 인간으로서 사제로서 격었을 그분의 고난에 눈물이 흐릅니다. 이땅에 이런어른 더안계시나요"

 

검색데이터가 포함된 리뷰 개수

In [29]:
search = input('검색할 데이터 입력 >> ')
reCnt = 0

for txt, pn in movie_review :
    if search in txt :
        reCnt+=1
print("'{}'가 포함된 리뷰는 {}개 입니다.".format(search, reCnt))
검색할 데이터 입력 >> 가
'가'가 포함된 리뷰는 1422개 입니다.

'Study > Python' 카테고리의 다른 글

[Python] 함수  (0) 2023.10.12
[Python] 딕셔너리  (0) 2023.10.11
[Python] 리스트, 튜플  (0) 2023.10.06
[Python] 조건문  (0) 2023.10.05
[Python] 파이썬 연산자 종류 / 실습  (1) 2023.10.04