본문 바로가기
Python(with Anaconda)

[Python] For Loop 반복문

by moveho 2022. 10. 24.

Loop ( for  ~  in )

  • 탭 or 스페이스로 반복해야하는 부분을 들여쓰기 해야한다
a = ['cat', 'window', 'defenstrate']
for x in a:
    print(x, len(x))

 

 

 

 


Range (start, stop, step)

  • 숫자의 범위를 지정한다.
  • 시작은 포함, 끝은 불포함한다
for i in range(1,6): #1~100까지 표현
    print(i, "i squared is", i**2)
    print('end')
print('end')           #끝에 end

 끝에 따로 end를 붙여 주려면

들여쓰기 하지 않은 상태로 따로 구분하여

별도의 print ('end') 를 넣어준다

 

파이썬의 들여쓰기가 얼마나 중요한지 다시 한번

느끼게 되는 부분이다!

 

 

 

 


For ~ in 반복문을 사용해서 인사해보는 프로그램을 만들기

names = ['lee', 'kim', 'park']
for name in names:
    print('Hello, '+name+'. Bye, '+name+'.')

names를 통해 이름값들을 각각 넣어줬고

for ~  in 을 통해 names의 값을 반복 실행 한 값을 추출했다

모든 이름에게 Hello와 Bye 를 하는 모습을 볼 수 있다.

 


[1, 2, -8, 0] 리스트에서 가장 큰 숫자를 찾는 프로그램을 만들기

a = [1, 2, -8, 0]
largest = a[0]
for i in a:
    if i > largest:
        largest = i
largest

a = [1, 2, -8, 0]
smallest = a[0]
for i in a:
    if i < smallest:
        smallest = i
smallest

 해당 코드는 각각의 숫자들을 실행시켜

1과 2를 비교 (더 큰 값 추출)   ====>  2

2와 -8을 비교(더 큰 값 추출)   ====>  2

2와  0 을 비교(더 큰 값 추출)   ====>  2

최종 가장 큰 값 = 2

 이러한 로직으로 가장 큰 값을 추출해주는 로직이다.

 

반대로, 가장 작은 값은 부등호 표시를 반대로 바꾸면

1과 2를 비교 (더 작은 값 추출)   ====>  1

1과 -8을 비교 (더 작은 값 추출)   ====> -8

-8과 0을 비교 (더 작은 값 추출)   ====> -8

최종 가장 작은 값 = -8

 


Import  randint 랜덤값// for ~ in 반복문// if elif else 를 활용해 가위, 바위, 보 게임 만들기

랜덤 값을 추출해주는 from random import randint 값을 활용하여

가위바위보 게임을 만들어 보았다

range 값을 설정해 5번까지 돌아가게 만들었다

코드는 다음과 같다

from random import randint
RSP = {'Rock', 'Scissors', 'paper'}
for i in range(5):
    comRSP = randint(1,3)
    myRSP = int(input("1.Rock 2.Scissors 3.Paper"))

    #바위 낼 경우
    if myRSP ==1:
        if comRSP ==1:
            print("you : Rock!, computer : Rock")
            print("draw")
        
        elif comRSP ==2:
            print("you : Rock!, computer : Scissors!")
            print("you win")
        else:
            print("you : rock! , computer : paper!")
            print("computer win!")
        
    #가위 낼 경우
    if myRSP ==2:
        if comRSP ==1:
                print("you : Scissors!, computer : Rock")
                print("computer win!")
        elif comRSP ==2:
                print("you : scissors!, computer : Scissors!")
                print("draw")
        else:
                print("you : scissors! , computer : paper!")
                print("you win!")
            
    
    #보 낼 경우
    if myRSP ==3:
         if comRSP ==1:
                print("you : Paper!, computer : Rock")
                print("you win")
         elif comRSP ==2:
                print("you : Paper!, computer : Scissors!")
                print("computer win!")
         else:
                print("you : paper! , computer : paper!")
                print("draw")

실행 결과 값이다!

총 컴퓨터와 5판의 가위 바위 보를 했고

승, 패, 승, 승, 무승부를 기록했다.

랜덤 int 값을 컴퓨터가 추출할수있게

컴퓨터에게 (1,3) 까지의 랜덤값을 낼 수 있게 코드를 작성했고

각각의 번호에는 rock, scissors, paper 값을 부여하였다

 

그 후 모든 경우의 수를 생각하여

사용자가 바위 낼 경우, 보자기 낼 경우, 가위 낼 경우에 대해 생각하여 if문을 작성하였다

 

이번에도 들여쓰기 오류를 범했는데 항상 신경쓰자

 

 

 

 

 

BYE

댓글