반응형
함수 실습
실습 1
저번에 배웠던 휴보라는 로봇을 이용해 4가지 실습을 진행했다.
파이썬 hubo라는 키워드를 통해 정보를 얻을 수 있다.
이 포스팅에서 실습 1번과 3번을 다루려고 한다.
첫 번째는 지그재그 방식으로 (1,1)에서 (10,1)까지 이동하는 것이다.
#제공받은 코드
from cs1robots import*
#Task1
create_world()
hubo = Robot()
#이동한 위치 파란색으로 기록
hubo.set_trace("blue")
#왼쪽으로 방향 전환
hubo.turn_left()
#오른쪽으로 방향 전환
def turn_right():
hubo.turn_left()
hubo.turn_left()
hubo.turn_left()
#위로 지그재그
def zigzag():
for _ in range(9):
hubo.move()
turn_right()
hubo.move()
turn_right()
#아래로 지그재그
def zigzag2():
for _ in range(9):
hubo.move()
hubo.turn_left()
hubo.move()
hubo.turn_left()
#위 아래 지그재그 종합
def MAIN():
for i in range(1,10+1):
if i==10:
for _ in range(9):
hubo.move()
elif i%2==1:
zigzag()
else:
zigzag2()
MAIN()
초기 지도 :
실행 결과 :
실습 3
계단방식으로 올라가서 beeper를 놓고 다시 계단을 내려오는 것이다.
import time
from cs1robots import*
load_world("./worlds/newspaper.wld")
#비퍼의 개수 1개
hubo = Robot(beepers = 1)
#오른쪽으로 방향 전환
def turn_right():
hubo.turn_left()
hubo.turn_left()
hubo.turn_left()
#반대 방향으로 전환
def turn_around():
hubo.turn_left()
hubo.turn_left()
#계단 4개 오르기
def climb_up_four_stairs():
for i in range(4):
climb_up_one_stair()
time.sleep(0.5)
#계단 4개 내려가기
def climb_down_four_stairs():
for i in range(4):
climb_down_one_stair()
time.sleep(0.5)
#계단 1개 오르기
def climb_up_one_stair():
hubo.turn_left()
hubo.move()
turn_right()
hubo.move()
hubo.move()
#계단 1개 내려가기
def climb_down_one_stair():
hubo.move()
hubo.move()
hubo.turn_left()
hubo.move()
turn_right()
climb_up_four_stairs()
#초기 비퍼가 0개이면 에러가 발생
hubo.move()
hubo.drop_beeper()
turn_around()
climb_down_four_stairs()
hubo.move()
초기 지도 :
실행 결과 :
'대학교' 카테고리의 다른 글
한국 근현대사 - (2) 조선 -1 (2) | 2023.09.20 |
---|---|
데이터 구조 - (2) 알고리즘의 성능 (2) | 2023.09.20 |
자바 - (2) 기본 타입, 타입 변환 (2) | 2023.09.18 |
파이썬 - (1) 개요 (3) | 2023.09.13 |
자바 - (1) 개발 환경 및 개요 (1) | 2023.09.13 |