대학교

파이썬 - (2) 함수 실습

매 석 2023. 9. 19. 18:45
반응형

함수 실습

실습 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