파이썬 While 숫자 역순하기??

파이썬 While 숫자 역순하기??

QA

파이썬 While 숫자 역순하기??

답변 1

본문

1.조건 : 양의 정수 A,B를 입력받음

2.조건 : A와 B사이(A와 B포함)에 존재하는 모든 홀수를 역순(크기가 큰 수가 우선 출력)으로 출력

 

((예시

11과 21 입력

21 19 17 15 13 11

30과 21 입력

29 27 25 23 21

이런식으로 for문하고 while문 프로그램작성 방법 좀 알려주세요 ㅜㅜ

이 질문에 댓글 쓰기 :

답변 1

안녕하세요?

 

말씀하신대로 양의 정수 A ~ B 사이의 모든 홀수를 역순으로 출력하는 방법은 여러 가지가 있을텐데

 

그 중에서 for문을 사용하면 다음과 같이 range()를 활용하여 구현할 수 있겠네요 ^^

 


x, y = map(int, input('두 개의 양의 정수를 한 칸 공백을 띄워 입력하세요 : ').split())
for i in range(max(x, y), min(x, y) - 1, -1): # x, y 중 큰 수부터 작은 수까지 -1씩 반복합니다.
    if i % 2 == 1: # 홀수이면 출력합니다.
        print(i)

 

실행 결과는 다음과 같습니다 ^^

 

두 개의 양의 정수를 한 칸 공백을 띄워 입력하세요 : 35 25

35 33 31 29 27 25

 

 

한편 while문을 사용하면 for문과 대동소이한 방식으로 작성할 수 있겠네요~

 


x, y = map(int, input('두 개의 양의 정수를 한 칸 공백을 띄워 입력하세요 : ').split())
i = max(x, y)
while i >= min(x, y): # x, y 중 큰 수부터 작은 수까지 반복합니다.
    if i % 2 == 1:
        print(i, end = ' ')
    i -= 1 # i에서 -1 처리를 합니다.

 

실행 결과는 for문을 사용한 경우와 동일합니다 ^^

 

그럼 굿밤 되세요~!

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 17
© SIRSOFT
현재 페이지 제일 처음으로