파이썬 짝수 홀수 구분 - paisseon jjagsu holsu gubun

3 홀짝 구별하는 함수 만들기

홀수와 짝수를 구별하는 프로그램을 만들어 봤습니다. 물론 이 프로그램은 숫자 10만을 구별할 수 있습니다. 만약 숫자 9를 구별하려면 어떻게 해야 할까요?

프로그램 전체를 수정해야 합니다. 이렇듯 앞에서 만든 프로그램은 다양한 숫자의 홀수와 짝수 여부를 판별해 볼 수 없기 때문에 조금 불편합니다. 이러한 불편함을 줄일 수 있는 방법이 바로 함수를 만드는 것입니다.

파이썬 짝수 홀수 구분 - paisseon jjagsu holsu gubun

그림 14-1 | 어떤 값을 입력하면 처리 과정을 거쳐 특정한 값을 출력하는 함수

함수라고 하면 수학에서의 함수가 떠오르지 않나요? 프로그래밍의 함수 또한 이와 비슷한 개념입니다.

함수에 어떠한 값을 입력하면 함수 내부의 처리 과정을 거쳐 특정한 값을 출력합니다. 예를 들어 입력받는 값을 홀수와 짝수로 구분하라는 함수가 있다고 생각해 봅시다. 그러면 이 함수에 4를 입력하면 짝수, 5를 입력하면 홀수라는 출력값이 나오겠죠? 이처럼 함수를 만들면 다양한 입력값에 대한 출력값을 도출할 수 있습니다.

신간 소식 구독하기

뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.

홀수와 짝수의 개수 구하기

홀수와 짝수의 개수를 구하는 프로그램을 만들어라.

[3, 4, 5, 6, 7]
= 홀수 3개, 짝수 2개
[12, 16, 22, 24, 29]
= 홀수 1개, 짝수 4개 
[41, 43, 45, 47, 49]
= 홀수 5개, 짝수 0개

홀수 : 2로 나누어 떨어지지 않는 정수
짝수 : 2로 나누어 떨어지는 정수

91개의 풀이가 있습니다. 1 / 10 Page

  • 최신순
  • 추천순

python

def find_odd_even(alist):

    even = 0
    odd = 0

    for x in alist:
        if x%2 == 0:
            even += 1
        else:
            odd += 1
    print(alist)
    print("= 홀수 %d개, 짝수 %d개"%(odd, even))

if __name__ == '__main__':

    list1 = [3, 4, 5, 6, 7]
    list2 = [12, 16, 22, 24, 29]
    list3 = [41, 43, 45, 47, 49]

    for l in [list1, list2, list3]:
        find_odd_even(l)

Python.

def oddandeven(list):
    odd=[]
    even=[]
    for i in list:
        if i % 2 == 0:
            even.append(i)
        else:
            odd.append(i)
    print('홀수는 {}개, 짝수는 {}개입니다.'.format(len(odd), len(even)))

def odd_even_count(input_list) : 
    output_list = ["짝수" if i%2 == 0  else "홀수" for i in test_a  ]
    even_count = output_list.count("짝수")
    odd_count = output_list.count("홀수")
    return print(f"홀수 : {odd_count}개, 짝수 : {even_count}개")

def evenodd(list):
    even = 0
    odd = 0
    for i in list:
        if i % 2 == 0:
            even += 1
        else:
            odd += 1
    print("%s odd and %s even." %(odd, even))

ui = list(map(int, input("홀수와 짝수 개수를 구합니다. 자연수 입력(공백으로 구분)>> ").split()))
even = 0
odd = 0
for i in ui:
    if i%2 == 0:
        even += 1
    else:
        odd += 1
print(ui, "\n= 홀수 %d개, 짝수 %d개" % (odd, even))

파이썬 3.9

def odd(a):
    odd = 0
    even = 0
    for i in a:
        if i % 2 == 0:
            even += 1
        else:
            odd += 1
    print(f'홀수 {odd}개, 짝수{even}개')

def findOddEven():
  nums = list(map(int, input().split()))
  evenNums = 0
  oddNums = 0
  for num in nums:
    if num%2 == 0:
      evenNums += 1
    else:
      oddNums += 1

  print(nums)
  print(f"= 홀수 {oddNums}개, 짝수 {evenNums}개")

data = list(map(int,input('숫자열 입력').split()))


def count_num(li):
    even_count = 0
    odd_count = 0
    for num in li:
        if num % 2 == 0:
            even_count += 1
        else: odd_count += 1

    return f'짝수{even_count} 홀수{odd_count}'
print(count_num(data))

a = [3, 4, 5, 6, 7]

odd = list(map(lambda a:a%2, a)).count(1)
even = list(map(lambda a:a%2, a)).count(0)

print(f' 홀수 {odd}개, 짝수 {even}개')

def oddeven(x):
    odd_count = 0
    even_count = 0
    for i in x:
        if (i % 2) == 0:
            even_count = even_count + 1
        elif (i % 2) == 1:
            odd_count = odd_count + 1
    return("홀수 개수: " + str(odd_count) + "\n" + "짝수 개수: " + str(even_count))

풀이 작성

※ 풀이작성 안내

  • 본문에 코드를 삽입할 경우 에디터 우측 상단의 "코드삽입" 버튼을 이용 해 주세요.
  • 마크다운 문법으로 본문을 작성 해 주세요.
  • 풀이를 읽는 사람들을 위하여 풀이에 대한 설명도 부탁드려요. (아이디어나 사용한 알고리즘 또는 참고한 자료등)
  • 작성한 풀이는 다른 사람(빨간띠 이상)에 의해서 내용이 개선될 수 있습니다.

파이썬 예제 : 짝수 홀수 구분하기 #4

예제를 풀면서 파이썬(Python)을 익혀 보도록 하겠습니다.

어렵지 않습니다. 짝수 홀수의 구분은 컴퓨터공학을 나오셨다면 나누기로 구분할 수 있다는거 아시죠?

차근 차근 풀어보시기 바랍니다.

문제

어떤 수가 짝수인지 홀수인지 판단해 주는 함수 is_evenly_divisible를 쓰세요.

is_evenly_divisible는 number(수)를 파라미터로 받습니다.

짝수인 경우, 즉 number가 2로 나누어 떨어질 경우에는 True를 리턴해 줍니다.

홀수인 경우, 즉 number가 2로 나누어 떨어지지 않을 경우에는 False를 리턴해 줍니다.

함수 안에는 print문이 아닌, return문을 사용해야 합니다.

그리고 참고로 불린 개념을 잘 사용하면, 함수 단 한 줄로 작성할 수 있습니다.

출력 예시

def is_evenly_divisible(number):
# 코드를 작성하세요

# 테스트
print(is_evenly_divisible(3))
print(is_evenly_divisible(7))
print(is_evenly_divisible(8))
print(is_evenly_divisible(218))
print(is_evenly_divisible(317))
False
False
True
True
False

힌트

1. 7 % 2 == 0은 False입니다. 8 % 2 == 0은 True입니다.

위의 경우에는 정수 7과 정수 8을 예시로 들었는데요. 이 개념을 파라미터 number에 대해 일반화하면 됩니다. 되도록 힌트 2를 보지 않고, 직접 완성하시길 바랍니다!

2. 힌트 1을 일반화하면, number % 2 == 0이 됩니다. 이 코드를 쓰면 파라미터 number가 짝수인 경우에는 True가, 홀수인 경우에는 False가 나옵니다. 이를 return문과 함께 써 주시면 됩니다.

정답

main.py
def is_evenly_divisible(number):
   return(bool(number % 2 == 0))


# 테스트
print(is_evenly_divisible(3))
print(is_evenly_divisible(7))
print(is_evenly_divisible(8))
print(is_evenly_divisible(218))
print(is_evenly_divisible(317))

코딩이 처음이라면, 코드잇

월 3만원대로 Python, JavaScript, HTML/CSS, Java 등 1,600개 이상 프로그래밍 강의를 무제한 수강하세요

www.codeit.kr:443

파이썬 짝수 홀수 구분 - paisseon jjagsu holsu gubun
파이썬 짝수 홀수 구분 - paisseon jjagsu holsu gubun
PYTHON 프로그래핑