파이썬 While 숫자 역순하기??
본문
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문을 사용한 경우와 동일합니다 ^^
그럼 굿밤 되세요~!
!-->!-->
답변을 작성하시기 전에 로그인 해주세요.