Computer Science/자료구조

[4.23] 배열이란?

토마토. 2021. 4. 23. 09:57
소수 나열하기
prime number를 모두 나열하는 알고리즘
def prime(n):
  prime = []
  for i in range(1, n+1):
    for j in range(1, i):
      if i % j != 0:
        
  #으음.. 
  #n 이하의 수
  #n, n-1, n-2, ... , 1까지 소수인지를 판별
  #  
  a = n
    if n % a == 0 아아아아 모르겠어..
    prime.append(n)
  n -= 1
  for i in range(1, n+1):
    if i % n == 

n진수 변환

def card_conv(x:int, r:int) -> str:

  d = ''
  dchar = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
  n = len(str(x))

  print(f'{r:2} : {x:{n}d}')
  while x > 0:
    print('   +' + (n+2)*'-')
    if x // r:
      print(f'{r:2} : {x // r:{n}d} ... {x % r}')
    else:
      print(f'    {x//r:{n}d}...{x%r}')
    d += dchar[x%r]
    x //= r

  return d[::-1]

if __name__=='__main__':
  print('10진수를 n진수로 변환합니다.')

  while True:
    while True:
      no = int(input('변환할 값으로 음이 아닌 정수를 입력하세요.:'))
      if no > 0:
        break
    while True:
      cd = int(input('어떤 진수로 변환할까요?: '))
      if 2 <= cd <= 36:
        break

    print(f'{cd}진수로는 {card_conv(no, cd)}입니다.')

    retry = input("한 번 더 변환할까요? (Y ... 예 / N ... 아니요):")
    if retry in {'N', 'n'}:
      break

1부터 n까지 합 구하기 - 매개변수 이용하기

def sum_1ton(n):
  s = 0
  for i in range(1, n+1):
    s += i
  return s

예제 코드

def sum_1ton(n):
  s = 0
  while n > 0:
    s += n
    n -= 1
  return s

print(sum_1ton(5))

파이썬 : 매개변수에 실제 인수가 대입된다. 

변수 n이 업데이트되면, 다른 객체를 참조하는 것이다. 

복사하는 값에 의한 호출 call by value

실제 인수와 매개변수가 같아지는 참조에 의한 호출 call by reference

객체 참조에 의한 전달 call by object reference

 

수가 이뮤터블일 때

인수가 뮤터블일 때

def change(lst, idx, val):
  lst [idx] = val

x = [11, 22, 33, 44, 55]
print('x =', x)

index = int(input('업데이트할 인덱스를 선택하세요.:'))
value = int(input('새로운 값을 입력하세요.: '))

change(x, index, value)
print(f'x={x}')