jooyoungho-Logo

Lab

문제:

number_generator함수는 x와 n을 입력 받습니다.
2와 5를 입력 받으면 2부터 시작해서 2씩 증가하는 숫자를 5개 가지는 리스트를 만들어서 리턴합니다.
number_generator(2,5) -> [2,4,6,8,10] 

4와 3을 입력 받으면 4부터 시작해서 4씩 증가하는 숫자를 3개 가지는 리스트를 만들어서 리턴합니다.
number_generator(4,3) -> [4,8,12]

이를 일반화 하면 x부터 시작해서 x씩 증가하는 숫자를 n개 가지는 리스트를 리턴하도록 함수 number_generator를 완성하면 됩니다.

 

나의 풀이

 

def number_generator(x, n):
    list = []
    for i in range(n):
        list.append(x * (i+1))
    return list

# 아래는 테스트로 출력해 보기 위한 코드입니다.
print(number_generator(3,5))

 

1. 빈 배열을 만든다.

2. range를 이용하여 사용자가 입력한 두 번째 인자(리스트 요소의 개수) 만큼 반복(for in)한다.

3. range 함수에 의해 0부터 n-1까지의 범위가 만들어졌으며 이는 i에 대입된다.

이제 사용자가 입력한 첫 번째 숫자에 (i+1)를 곱하면 우리가 원하는 답이 나온다.

 

*만약 i+1가 거슬린다면 range의 범위를 1부터 n+1까지로 바꾸자.

 for i in range(1, n+1):
        list.append(x * i)

 

다른 사람의 풀이

def number_generator(x, n):
    # 함수를 완성하세요
    return [i * x + x for i in range(n)]
print(number_generator(2, 5))

 

def number_generator(x, n):

    t = list(range(x, n*x+1, x))
    return t

# 아래는 테스트로 출력해 보기 위한 코드입니다.
print(number_generator(3,5))

▲개인적으로 추천하고 싶은 코드. range의 인자(시작 값, 끝 값, 증가 값)를 잘 활용했다.

 



  1. [파이썬 알고리즘] x만큼 간격이 있는 n개의 숫자

    Date2018.05.22 ByYoungho Views234
    Read More
  2. [파이썬 알고리즘] 같은 숫자는 싫어, 중복 숫자 제거

    Date2018.05.21 ByYoungho Views744
    Read More
  3. PHP: 특정 아이피만 접근 허용

    Date2017.03.01 ByYoungho Views539
    Read More
  4. jQuery: 사용자의 스크롤 값을 구하고 싶을 땐?

    Date2017.02.13 ByYoungho Views747
    Read More
  5. Math.random()을 이용하여 일정 범위의 난수 표현하기

    Date2017.01.30 ByYoungho Views4641
    Read More
  6. JavaScript: 비만도와 적정 체중

    Date2016.11.28 ByYoungho Views565
    Read More
  7. [link]JavaScript: Scope 이해

    Date2016.11.14 ByYoungho Views113
    Read More
  8. 구글 Noto 한국어 글꼴을 웹에서 마음껏! (구글 원문 펌)

    Date2016.10.12 ByYoungho Views128
    Read More
  9. !DOCTYPE html은 무엇인가?

    Date2016.09.20 ByYoungho Views128
    Read More
  10. meta 태그가 제대로 먹히지 않아 섬네일이 뜨지 않는 현상

    Date2016.08.14 ByYoungho Views164
    Read More
Board Pagination Prev 1 Next
/ 1
foot_logo
서버에 요청 중입니다. 잠시만 기다려 주십시오...