Back to Course

파이썬 소개

0% Complete
0/0 Steps
  1. 코딩의 기초
    소단원 1: 파이썬 소개
    4 Topics
    |
    1 Quiz
  2. 수업 2: 파이썬을 사용한 애니메이션
    4 Topics
    |
    1 Quiz
  3. 수업 3: 알고리즘 및 순서도
    5 Topics
    |
    1 Quiz
  4. 파이썬을 사용한 프로그래밍 개념
    수업 4: 변수 및 산술 연산자
    6 Topics
    |
    1 Quiz
  5. 수업 5: 파이썬의 함수
    6 Topics
    |
    1 Quiz
  6. 소단원 6: 조건부 프로그래밍
    5 Topics
    |
    1 Quiz
  7. 수업 7: 파이썬의 루프 - While 루프
    3 Topics
    |
    1 Quiz
  8. 수업 8: 파이썬의 루프 - For 루프
    3 Topics
    |
    1 Quiz
  9. 수업 9: 문자열 작업
    5 Topics
    |
    1 Quiz
  10. 수업 10: 파이썬의 목록
    4 Topics
    |
    1 Quiz
  11. 파이썬 게임
    수업 11: 미로 게임의 딱정벌레
    4 Topics
  12. 캡스톤 프로젝트
    수업 12: 캡스톤 프로젝트
Lesson 9, Topic 3
In Progress

활동 1: 팰린드롬 수

Lesson Progress
0% Complete

회문은 단어, 숫자, 구문 또는 madam이나 racecar와 같이 앞뒤로 읽는 것과 동일한 문자 시퀀스입니다.

짧은 숫자 11/11/11 11:11 및 긴 숫자 02/02/2020을 사용하는 날짜/시간 스탬프를 포함하는 숫자 회문도 있습니다. 예를 들어; 2022년 2월 22일 화요일은 왼쪽에서 오른쪽으로 또는 그 반대로 읽을 수 있으므로 회문일(dd-mm-yyyy 형식을 사용하는 22022022)으로 간주됩니다.

문자열을 입력으로 받아 문자열이 회문인지 아닌지 확인하는 프로그램을 만들어 봅시다.

코딩하자

  1. 스프라이트 객체를 초기화합니다.
    sprite = Sprite('Tobi')
  2. N이라는 매개 변수가 있는 isPalindrom()이라는 함수를 추가합니다.
    def isPalindrome(A):
  3. l을 문자열의 길이로 초기화하고 p를 오른쪽부터 인덱스를 추적하는 변수로 초기화하고 p를 길이 -1로 설정합니다. 그리고 while 루프에서 앞에서 인덱스의 위치를 추적하는 index 변수입니다.
      l = len(A)
      p = l-1
    
      index = 0
  4. 조건 index <p를 사용하여 while 루프를 시작합니다.
      while (index < p):
  5. indexp 변수가 동일한지 확인합니다. 그렇다면 index를 1씩 늘리고 p를 1씩 줄입니다.
     if(A[index] == A[p]):
     index = index + 1
     p = p - 1 
  6. 조건이 거짓이면 문자열은 팰린드롬이 아닙니다. 메시지를 표시하고 false로 함수를 반환합니다.
        else:
          sprite.say(A + " is not a palindrome", 2)
          return False
  7. 루프가 끝나면 모든 문자를 확인하고 회문 문자열을 갖게 됩니다. 메시지를 표시하고 True를 반환합니다.
      sprite.say(A + " is a palindrome", 2)
      return True
  8. 테스트 조건을 추가하고 생성된 함수를 확인합니다.
    sprite.say("Case 1: MADAM", 1)
    isPalindrome("MADAM")
    
    sprite.say("Case 2: TOWER", 1)
    isPalindrome("TOWER")

전체 프로그램은 다음과 같습니다.

sprite = Sprite('Tobi')

def isPalindrome(A):
  l = len(A)
  p = l-1
  
  index = 0
  
  while (index < p):
    if(A[index] == A[p]):
      index = index + 1
      p = p - 1 
      
    else:
      sprite.say(A + " is not a palindrome", 2)
      return False
    
  sprite.say(A + " is a palindrome", 2)
  return True

sprite.say("Case 1: MADAM", 1)
isPalindrome("MADAM")

sprite.say("Case 2: TOWER", 1)
isPalindrome("TOWER")

산출

과제 업로드

코드를 완성하고 과제를 제출하십시오.

과정을 마친 후 수료증을 받으려면 과제를 제출해야 합니다.

과제를 업로드하려면 아래 단계를 따르세요.

  1. 먼저 Pictoblox 파일을 선택해야 하므로 Browse를 클릭합니다.
  2. .sb3 파일을 선택합니다.
  3. 그리고 Upload 버튼을 클릭합니다.

행운을 빕니다! ????