Python/개념익히기

범위(range)

ADELA_J 2023. 3. 29. 15:36

A. range() : 범위, for반복문이랑 자주 사용됨. 숫자로 이루어진 범위를 만들때

  a-1. range(A) ▶ A는 숫자, 0 ~ A-1

  a-2. range(A, B) ▶ A: start B:end, A~B-1

  a-3. range(A, B, C) ▶ A: start B:end C:step, A~B-1, C(B-1-A)

     ▷ range의 범위의 값은 list 함수로 변경하면 확인 가능함. 

   

▷ 그래서 변수로 리스트(range(범위)) 잡아줘서 출력하는거.너무 길어지니까.

a = range(5)
print(a) = range(0,5)
list(range(5))
>>> [0,1,2,3,4]

 

  ▶ 매개변수 내부에 수식을 사용하기도 함.

  ▶ print(list(range(0,10))) 처럼 한줄로 쓰기 가능(리턴값있음)

  ▶ 범위는 음수든 양수는 가능. 소수는 안됨. 정수만 가능

a = range(0, int(n/2))     #실수를 정수로 바꾸는 방법 int 보다는
list(a)
>>> [0,1,2,3,4]

a = range(0, n//2)      #정수 나누기 연산자, 몫만 남는 연산자를 많이 사용
list(a)
>>> [0,1,2,3,4]

  ▶ 변수를 지정해서 range 사용 가능

start = 0
end = 10
step = 3

g = range(start, end, step)
>>> [0, 3, 9]
num = range(5)
list(num)
>>> [0,1,2,3,4]
list(num)[2]
>>> 2
num2 = list(num)
num2
>>> [0,1,2,3,4]
num2[2]
>>> 2

 

B 역반복문(반대로 반복하기) : 큰 숫자에서 작은 순서로 적용할때

  b-1. step부분을 마이너스로,   ex. range(4, 0 -1, -1)

  b-2. reversed() : 리스트 안에 있는 요소들을 거꾸로 읽어오는 함수. ex. reversed(range(5))

 

 

 

** 삼각형(피라미드)만들기

output=""

for i in range(1,10):
    for j in range(0, i):
        output += "*"
    output += "\n"

print(output)

#다른삼각형 (꼭지점이 중앙에있는)
out=""
for a in range(1, 15):
    for b in range(14, a, -1):
        output += ' '
    for k in range(0, 2*a -1):
        output += '*'
    output += '\n'

print(output)

 

 

**구구단 만들기

for i in range(1,10):
    for j in range(1,10):
        print(i, "X", j, "=", i*j)