Python/기본 문법

Python - 중첩루프(별 찍기/FizzBizz)/거북이/리스트 조작/인덱스 값 구하기/리스트 표현식/ map함수

빵으니 2020. 5. 20. 11:15

<중첩루프> 

- 별 찍기

↓ 결과는 아래와 같이 나옵니다

5 X 5 삼각형 역삼각형
*****
*****
*****
*****
*****
*
 **
  ***
   ****
    *****
    *****
   ****
  ***
 **
*

 

- FizzBizz 문제

  : 입사 시험 문제에 많이 출제 됨

푸는데 꽤 걸렸지만 해냈쑴다!

* 방법 3 해설

https://dojang.io/mod/page/view.php?id=2269

 

파이썬 코딩 도장: 20.5 코드 단축하기

이번에는 코드를 매우 단축하여 FizzBuzz 문제를 풀어보겠습니다. fizzbuzz_code_golf.py for i in range(1, 101):     print('Fizz' * (i % 3 == 0) + 'Buzz' * (i % 5 == 0) or i)     # 문자열 곱셈과 덧셈을 이용하여 print ��

dojang.io

 

<터틀 그래픽스>

- 거북이는 그림 그리는 모듈이므로 Windows, linux, macOS 그래픽 환경에서만 동작

  / 콘솔(터미널)만 있는 환경에서는 불가

전 ConEmu로 실행시켰습니다

→ python 실행 ( 파이썬 설치 시, 경로 설정을 해줬기 때문에 cmd로 파이썬 실행 가능)

→ import turtle : 외부 모듈 실행 / as t : turtle 별명을 t로 설정

→ t.shape('turtle') : 거북이 모양 설정 (기본값은 화살표)

→ t.forward(100) : 거북아 100픽셀 앞으로 전진해

→ t.right(90) : 거북아 오른쪽으로 90도 회전해

  • 앞으로 이동: forward, fd

  • 뒤로 이동: backward, bk, back

  • 왼쪽으로 회전: left, lt

  • 오른쪽으로 회전: right, rt

위 cmd를 실행하면 거북이가 이런 그림을 그립니다


<리스트 조작하기>

- 파이썬에서 리스트는 기능이 많다

- 요소 추가/삭제하거나, 정보 조회하는 메서드(함수) 제공

- 특히 for 반복문과 결합하면 연속적이고 반복되는 값을 손쉽게 처리할 수 있다

 

▶ 리스트 추가 메서드

  1. append : 리스트 맨 뒤에 요소 추가 / 중첩 리스트 가능 / 길이는 1씩만 증가 함

  2. extend : 리스트에 리스트를 추가 / 리스트 맨 뒤에 리스트 추가 / 길이는 리스트 len 만큼 증가 (append 반복 불필요!)

  3. insert : insert(인덱스, 요소) / 리스트 끝이 아닌 원하는 위치(특정 인덱스)에 요소 추가 / 중첩 리스트 가능

  4. 슬라이스 활용 : 원하는 인덱스에 요소 추가 / a[1:1] = [500, 600]과 같이 시작 인덱스와 끝 인덱스를 같게 지정하면          해당 인덱스의 요소를 덮어쓰지 않으면서 요소 여러 개를 중간에 추가할 수 있음

▶ 리스트 삭제 메서드

  1. pop : 리스트의 마지막 요소 혹은 특정 인덱스의 요소 삭제 / 삭제한 뒤 삭제한 요소를 반환!

  2. del : 특정 인덱스 요소 삭제 

  3. remove : 리스트에서 원하는 값(value)로 삭제 (인덱스로 요소 삭제 X!!!)

  4. clear : 모든 값 삭제


<특정 인덱스 값 구하기>

- 리스트 할당과 복사 구분하기!

- 리스트 모든 요소 출력

 

*** for문 참고

- 리스트에서 최소값 추출

- sum qustn

- 리스트 표현식!!!!

- 리스트에 map 사용하기

map은 원본리스트를 변경하지 않고 새 리스트 생성

- input().split()과 map