파이썬 for문 홀수 출력 - paisseon formun holsu chullyeog

728x90

Show

    반응형

    파이썬 for문 홀수 출력 - paisseon formun holsu chullyeog

    문제

    1~10까지의 숫자 중 모든 홀수의 합을 출력하는 프로그램을 for 문을 사용하여 작성하라.

    합 : 25

    내풀이

    j = 0
    for i in range(1,11,2):
        j = j + i
        print(j)
        
    결과값
    1
    4
    9
    16
    25

    정답

    hab 이라는 변수에 0을 저장하고, for 문을 통해 모든 값에 대해 누적합니다. 이때 range의 세 번째 파라미터를 사용해서 range가 생성하는 수를 2씩 증가시킵니다.

    hab = 0
    for i in range(1, 11, 2):
        hab += i
    print ("합 :", hab)

    range() 함수는 (start,stop,setp) 순으로 되어있습니다.

    728x90

    반응형

    'Coding > 초보자를 위한 파이썬 300제' 카테고리의 다른 글

    초보자를 위한 파이썬 300제 // 171 for문과 range()  (0) 2021.02.04
    초보자를 위한 파이썬 300제 // 170 for문 모든 수 곱하기  (0) 2021.02.03
    초보자를 위한 파이썬 300제 // 169 for문 홀수의 합  (0) 2021.02.03
    초보자를 위한 파이썬 300제 // 168 for문  (0) 2021.02.03
    초보자를 위한 파이썬 300제 // 167 구구단 홀수만  (0) 2021.02.02
    초보자를 위한 파이썬 300제 // 166 구구단  (2) 2021.02.02

    파이썬 찐초보

    오늘의 목표

    1. 조건문 사용하기

    2. 반복문 안에 조건문을 사용하기

    3. 약수 찾는 알고리즘 구현하기

    1. 반복문 활용 연습

    그럼 지난 글에서 정리했던 반복문을 복습해보자.

    먼저, 1부터 사용자가 입력한 수까지의 합을 출력하는 코드를 작성해보자. 

    반복문을 사용하는 방법은 for와 while 두 가지가 있는데 먼저 while을 사용해보자. 

    #sum, i 변수 생성
    sum = 0
    i = 1
    
    #number변수 생성
    number = int(input("숫자를 입력하세요 : "))
    #while문 이용
    while(i <= number):
      sum = sum + i
      i += 1
    #sum값 출력
    print(sum)
    

    파이썬 for문 홀수 출력 - paisseon formun holsu chullyeog
    파이썬 for문 홀수 출력 - paisseon formun holsu chullyeog

    2. 조건문 알기

    조건문은 특정 조건을 만족할 때, 만족하지 않을 때 어떤 일을 수행하게 하는 것을 의미한다. 

    아래 그림처럼 어떠한 조건을 만족한다면 True 화살표를 따라가고 조건을 만족하지 않는다면 False화살표를 따라가서 그 곳에 쓰여있는 명령문을 수행하게 된다. 

    파이썬 for문 홀수 출력 - paisseon formun holsu chullyeog
    출처 https://gunsystem.tistory.com/87

    3. 조건문 예제 - 티켓 값 계산

    티켓 값이 기본 3000원이고 20세 미만이면 20%를 할인해주는 프로그램을 만들어보자. 

    입력 값 : 나이, 티켓 기본 값

    출력 값 : 최종 티켓 값

    수식 : 20세 미만인 경우 티켓 = 티켓 * 0.8 

    age = int(input("나이를 입력하세요 : "))
    ticket = 3000
    
    if age < 20:
      ticket = ticket * 0.8
    
    print("티켓 값은 %d원 입니다." %(ticket))
    
    
    파이썬 for문 홀수 출력 - paisseon formun holsu chullyeog

    3-1 조건문 예제 - 홀수 짝수 판별 프로그램

    이번에는 if와 else를 이용해보자.

    만약 조건을 만족한다면 해당 명령어를 수행하고, 그렇지 않으면 다른 명령어를 수행한다. 

    number = int(input("숫자를 입력하세요: "))
    
    if number % 2 == 0:
      print("입력한 숫자 %d는 짝수입니다." %(number))
    else:
      print("입력한 숫자 %d는 홀수입니다." %(number))
    
    
    파이썬 for문 홀수 출력 - paisseon formun holsu chullyeog

    3-2. 조건문 예제 - 국어, 영어 점수의 평균과 그에 따른 평가 안내 

    이번에는 if, elif, elif, else 를 활용해보자.

    즉, 조건을 만족하면, 그렇지 않고 이 조건을 만족하면, 그렇지 않고 이 조건을 만족하면, 이도저도 아니면~

    각각에 해당하는 명령어를 수행하는 것이다.

    국어점수와 영어점수를 입력받고, 그 평균을 구한다.

    평균이 90점 이상이면 매우 우수합니다. 평균이 80점 이상이면 우수합니다. 평균이 70점 이상이면 보통입니다. 

    평균이 60점 이상이면 노력이 필요합니다. 그보다 낮으면 노력이 많이 필요합니다. 를 출력해보자. 

    kor = eval(input("국어 점수 : "))
    eng = eval(input("영어 점수 : "))
    
    avg = (kor + eng)/2
    
    if avg >= 90:
      result = "매우 우수합니다."
    elif avg >= 80:
      result = "우수합니다"
    elif avg >= 70:
      result = "보통입니다"
    elif avg >= 60:
      result = "노력이 필요합니다"
    else:
      result = "노력이 많이 필요합니다"
    
    print("국어점수 %0.2f점과 영어점수 %0.2f점의 평균은 %02.f이고 평가는 %s입니다." %(kor, eng, avg, result))
    파이썬 for문 홀수 출력 - paisseon formun holsu chullyeog

    위의 코드를 활용하면 A, B, C, D 등급으로도 나타낼 수 있고 수학, 과학 등 다른 과목을 추가할 수도 있다!

    4. 반복문 안에 조건문 예제 - 4의 배수인 자연수 개수 구하기

    이번에는 어떤수를 입력받은 뒤 1부터 그 숫자까지의 자연수 중에서 4의 배수는 몇 개인지 구하는 프로그램을 작성해보자.

    이 경우 반복문 안에 조건문이 들어가게 되는데 for나 while 둘 다 가능하다. 변수의 개수를 줄이기 위해

    for반복문을 활용해보자! 

    먼저 number변수를 만들어서 사용자에게 숫자를 입력받아야한다.

    그 다음 4의 배수의 개수를 의미하는 변수 count를 만든다.

    이제 for문에 i라는 변수를 생성해서 범위를 1부터 사용자가 입력한 number+1까지로 설정한다. 

    range()의 경우 끝 값 -1 까지가 범위라서 사용자가 입력한 number +1 을 해줘야 사용자가 입력한 number까지 살펴볼 수 있다. 

    만약에 i % 4의 값이 0이라면 i는 4의 배수일 것이고 count는 1증가시킨다. (4의 배수일때만 count값 1 증가)

    for 반복문이 모두 종료되면 맨 아래 print()안에 있는 명령문을 출력한다! 

    number = int(input("숫자를 입력하세요 : "))
    count = 0
    
    for i in range(1, number + 1):
      if (i % 4 == 0):
        count += 1
    
    print("1부터 %d까지의 숫자 중 4의 배수는 총 %d 개 입니다." %(number, count))
    
    
    파이썬 for문 홀수 출력 - paisseon formun holsu chullyeog

    같은 방법으로 5의 배수를 구할 수도 있다. 

    파이썬 for문 홀수 출력 - paisseon formun holsu chullyeog

    4-2. 반복문 내 조건문 - 홀수만 더하기 

    이제 숫자를 입력받아서 1부터 입력받은 숫자 중 홀수만 뽑아낸 뒤

    그 홀수를 모둔 더한 홀수의 총 합을 계산하는 프로그램을 만들어보자. 

    이 경우 number변수는 사용자가 입력한 값

    odd는 홀수인 자연수의 합으로 놓고

    if 문 안에 odd 변수 값에 i를 더하도록 한다. 

    number = int(input("숫자를 입력하세요 : "))
    odd = 0
    
    for i in range(1, number + 1):
      if (i % 2 != 0):
        odd += i
    
    print("1부터 %d까지의 숫자 중 홀수인 자연수의 총 합은 %d입니다." %(number, odd))
    
    
    파이썬 for문 홀수 출력 - paisseon formun holsu chullyeog

    같은 방법으로 하면 짝수인 자연수의 합도 구할 수 있다. 

    파이썬 for문 홀수 출력 - paisseon formun holsu chullyeog

    그럼 홀수의 합과 짝수의 합을 더하는 프로그램은 어떨까?

    위의 두 코드를 합쳐주기만 하면 된다!

    number = int(input("숫자를 입력하세요 : "))
    even = 0
    odd = 0
    
    for i in range(1, number + 1):
      if (i % 2 == 0):
        even += i
      else:
        odd += i 
    
    print("1부터 %d까지의 숫자 중 짝수인 자연수의 총 합은 %d입니다." %(number, even))
    print("1부터 %d까지의 숫자 중 홀수인 자연수의 총 합은 %d입니다." %(number, odd))
    
    
    파이썬 for문 홀수 출력 - paisseon formun holsu chullyeog

    4-3. 반복문 내 조건문 - 어떤 수의 약수 판별하고 구하기

    이번에는 어떤 수를 입력받은 뒤 그 수의 약수를 출력해보자!

    number = int(input("숫자를 입력하세요 : "))
    
    for i in range(1, number + 1):
      if (number % i == 0):
        print("%i는 약수입니다." %(i))
    
      
    파이썬 for문 홀수 출력 - paisseon formun holsu chullyeog

    자, 이번에는 약수입니다, 약수 아닙니다!

    이렇게 그 수까지의 자연수를 모두 판별하도록 해보자!

    이렇게 if-else를 사용하면 사용자가 입력한 숫자까지의 모든 자연수를 약수인지, 아닌지 판별하게 된다. 

    파이썬 for문 홀수 출력 - paisseon formun holsu chullyeog

    그럼 마지막 과제!!

    어떤 수의 약수의 개수를 출력하는 프로그램을 만드세요.

    오늘 글에서 배운 약수 구하는 방법과 개수구하는 방법을 서로 엮어야 해결이 가능하다~!

    예시 답안은 요기↓

    number = int(input("숫자를 입력하세요 : "))
    count = 0 
    
    for i in range(1, number + 1):
      if (number % i == 0):
        count += 1
    
    print("%d의 약수는 %d개 입니다."%(number, count))
    
    
    파이썬 for문 홀수 출력 - paisseon formun holsu chullyeog

    오늘의 목표!

    1. 조건문

    2. 반복문 내 조건문

    3. 약수 구하기

    정리 끝~!!