반응형
튜플
다른 타입의 객체를 포함하는 객체
연속적으로 나열된 객체를 표현한다.
EX) A=(1,2,3)
A=1,2,3
A=(1,2,True)
튜플 활용
from cs1media import *
yellow = (255, 255, 0)
img = load_picture("./cs101_students.jpg")
img.show()
img.set(29, 30, yellow)
img.set(30, 30, yellow)
img.set(31, 30, yellow)
img.set(30, 29, yellow)
img.set(30, 31, yellow)
w, h = img.size()
for i in range(w):
img.set(i, h/5, yellow)
img.set(i, h/5-1, yellow)
img.set(i, h/5+1, yellow)
img.show()
위는 yellow를 튜플로 사용해서 RGB값을 넘겨 set함수로 w,h,color를
img에 적용할 수 있게 한다. 즉 튜플로 간단하게 여러 매개값을 함수에 보낼 수 있다.
실습
from cs1media import *
threshold_1= 150
threshold_2= 50
yellow=(255,255,0)
green=(0,255,0)
blue=(0,0,255)
img = load_picture("sonny.jpg")
w,h = img.size()
for x in range(w):
for y in range(h):
r,g,b = img.get(x,y)
v= r+g+b//3
if v>threshold_1:
img.set(x,y,yellow)
elif threshold_2 < v <= threshold_1:
img.set(x,y,green)
else:
img.set(x,y,blue)
img.show()
우선 튜플로 yellow, green, blue에 맞는 RGB값을 저장해준다.
이후 모든 W,H의 좌표값을 하나하나 특정변수와 비교하여 yellow, green, blue로 바꿔준다.
함수
파라미터는 함수를 호출할 때 파라미터에 값을 대입하여 사용한다.
이 값을 인수라고 한다. 이후에 함수에서 정의한 반환값을 반환하여 다시 main으로 돌려줄 수 있다
위에서 amount, rate, years를 파라미터라고 하고, return은 반환을 의미한다.
이를 main에서 함수로 호출할 때 입력하는 값을 인수라고 한다.
반환은 여러 번 쓸 수 있지만 반환하게 되면 함수가 종료된다.
또한 반환값은 튜플을 사용하면 여러 값을 반환할 수 있다.
실습
import time
from cs1robots import *
load_world("./worlds/add1.wld")
hubo = Robot()
cnt=0
ans=0
def turn_right(robot):
for i in range(3):
robot.turn_left()
def move():
while(1):
if not hubo.front_is_clear():
break
hubo.move()
def pick_up(cnt):
cnt=0
while(1):
if hubo.on_beeper():
hubo.pick_beeper()
cnt+=1
else:
turn_right(hubo)
hubo.move()
break
return cnt
def pick_down(cnt,ans):
while(1):
if hubo.on_beeper():
hubo.pick_beeper()
cnt+=1
else:
break
if ans!=0:
cnt+=ans
ans=0
if cnt>=10:
cnt-=10
ans+=1
for _ in range(cnt):
hubo.drop_beeper()
hubo.turn_left()
hubo.turn_left()
hubo.move()
hubo.turn_left()
hubo.move()
hubo.turn_left()
hubo.turn_left()
return ans
hubo.turn_left()
hubo.move()
turn_right(hubo)
move()
for _ in range(5):
cnt = pick_up(cnt)
ans= pick_down(cnt,ans)
'대학교' 카테고리의 다른 글
자바 - (7) 인스턴스 멤버와 정적 멤버 (1) | 2023.11.01 |
---|---|
마이크로프로세서 - (7) 아날로그-디지털 변환 (2) | 2023.10.18 |
자바 - (6) 객체 지향 프로그래밍 (1) | 2023.10.14 |
한국 근현대사 - (4) 대한제국 (2) | 2023.10.11 |
한국 근현대사 - (3) 조선 - 2 (1) | 2023.10.11 |