gunner0705   1년 전

filter 함수 쓰는데 막혀서 질문드립니다.

입력받은 최대값까지 소수를 구하며 

최솟값을 만족하기 위해 re함수를 만들어 최솟값보다 크면 반환하여 filter함수를 사용할려 하는데 인자가 3개면 크다하며 2개 넣으면 인자가 부족하다고 뜨는데 어떻게 하면 좋을지 조언 부탁드립니다.!!

dong5995   1년 전

filther는 처음에 함수를 넣고, 두 번째에 리스트같은 걸 넣어야 합니다.

이때 함수에는 값이 하나만 들어가야 합니다.

re함수가 값을 2개가 필요해서 인자가 부족하다고 뜬겁니다.  filter 하면 re함수에 요소를 하나씩 넣게 되니까요.

다른 변수는 global을 사용하거나, 전역변수는 그냥 사용하셔도 됩니다.

그리고 min, max는 예약어니까 변수는 다른 이름으로 정하세요.

mi=int(input())
ma=int(input())

def re(x):
    if x >= mi:
        return True
    else:
        return False
newList = list(filter(re, arr))

이런 식으로 작성하면 괜찮을겁니다.

dong5995   1년 전

금방 해봤는데 arr안에 None이 들어가있어서 중간에 오류가 나네요.

try, except 이용해서 예외처리 하시면 될 것 같습니다.

gunner0705   1년 전

혹시 100퍼에서 실패라고 뜨는데 반례를 찾을 수 있을까요? 감이 안 잡히네요

댓글을 작성하려면 로그인해야 합니다.