[Python] CHAP. 03

20332 단어 pythonpython

1. 반복문 연습(1)

- 재귀함수 ; recursion

: 함수에서 지기자신을 다시 호출하는 형태

def sum(n):
	if n==1:
    	return 1
    return n+sum(n-1)
    
a = sum(10)
print(a)

- 덧셈으로 곱셈 계산하기

: 곱셈은 덧셈을 여러 번 하는 것

a = 2
b = 3
s = 0
for i in range(b)
	s = s + a
print(a, "X", B, "=", S)
  • 함수로 바꾸기
    : 함수 정의하고 indentation을 주어 함수의 코드 블록으로 바꾼다
def multiply(a,b):
	s = 0
    for i in range(b)
    	s = s + a
    return s
    
a = 2
b = 3
c = multiply(a,b)
print(a, "X", b, "=", c)

- 조건문

  • 덧셈으로 곱셈 계산하기
def multifly(a,b)
 	s = 0
 	a_abs = a
    b_abs = b
    
	negatives = 0;
	if a < 0:
    	negative += 1
        a_abs = -a
    if b < 0:
    	negative += 1
        b_abs = -b
        
    #positive : True, negative : False
    sign = negatives % 2 == 0
    
    for i in range(b_abs):
     	s = s + a_abs
        
    if (sign == False):
    	s = -s
        
    return s
    
a = input()
b = input()
s = multifly(a, b)
print(a, 'x', b, '=', s)

+ 이렇게 까지 하면 더 좋다

def multifly(a, b)
	s = 0
    if (b < 0):
    	for i in range(-b)
        	s = s - a
    else:
    	for i in range(b):
        	s = s + a
    return s
    
a = input()
b = input()
c = multifly(a, b)
print(a, "x", b, "=", c)

- () 용법

: 여러 개를 묶어준다. 튜플(tuple)이라는 이름을 갖고 있다.

  • 일반적으로 두 값을 바꾸는 방법
a = 1
b = 2
print(a, b)
t = a
a = b
b = t
print(a, b)
  • 파이썬에서 두 값을 바구는 방법
a = 1
b = 2
print(a, b)
(a, b) = (b, a)
print(a, b)

- 작은 수 큰 수 둘 다 남기는 함수 만들기

: 이럴 대 튜플을 쓴다

import random
def getMaxMin(a, b):
	if a < b :
    	maxValue = b
        minValue = a
    else:
        maxValue = a
        minValue = b
    return (maxValue, minValue)
    # 두 값을 하나로 묶어서 남긴다
    
a = random.randint(0, 100)
b = random.randint(0, 100)
max, min = getMaxMin(a, b)
print("max:", max, "min:", min)

- while

: 몇 번 반복할지 모를 때 쓰는 반복문

i = 0
while(i < 3):
	print(i)
    i = i + 1
print("end of 'while' ")

2. 반복문 연습(2)

- 별표 출력

j = 0
for k in range(3)
	j = j + 1
    for i in range(j):
    	print("*", end="")
    print()

- range

  • for i in range(a):
    - i가 0부터 1씩 증가하면서 a 전까지 코드블록의 내용 반복
  • for i in range(a, b):
    - i가 a부터 1씩 증가하면서 b 전까지 코드블록의 내용 반복
  • for i in range(a, b, c):
    - i가 a부터 c씩 증가하면서 b 전까지 코드 블록의 내용 반복
    - range 세번재 값에 음수도 지정할 수 있다.
for i in range(2, 11, 2):
	print(i, end=" ")
[결과]
2 4 6 8 10

- 카운트다운

: time 모듈은 sleep()이라는 함수를 제공한다. 지정된 초 동안 아무것도 안한다.

import time
for i in range(10, 0, -1):
	print(i)
    time.sleep(1)	# 모듈이름 + . + 함수이름(1초동안 멈춘다)
    
print("펑")
print("%c"%(7))
print("{0:c}:.format(7)	# 소리 나는 방법

- 문자열 다루기

  • ASCII code table
  • 컴퓨터는 숫자만 저장할 수 있다.
  • 문자를 대신하는 숫자를 배정해놨다.
  • 예를 들면, 'A'는 65, 'B'는 66 이런 식이다.
  • 아스키코드를 배정해 놓은 표가 있다
  • 이 표는 세계공통이다.
  • 알아두면 유익한 코드 : 7, 8, 13, 27, 32, 65

- 문자 코드 관련 함수

>>> 65
65
>>>chr(65)
'A'
>>>chr(66)
'B'
>>>chr(67)
'C'
for i in range(65, 65+26):
	c = chr(i)
    print(c, end='')
[결과]
ABCDEFGHIJKLMNOPQRSTUVWXYZ

좋은 웹페이지 즐겨찾기