본문 바로가기
프로그램/Python 1000제

Python 14제] 조건에 맞는 리스트값을 출력하는 프로그램을 작성하시오.

by 건티 2021. 8. 5.
728x90

문제]

비어있는 리스트에 0이 입력될 때까지 숫자를 무작위로 입력받아 추가한다.
그리고 인덱스와 기준 숫자를 입력하면, 인덱스가 리스트 범위를 벗어나면 "리스트의 범위를 벗어났습니다."를 출력하고 종료한다. 인덱스가 범위에 포함되면 리스트에서 0에서 입력받은 인덱스까지에 저장된 숫자들 중 기준 숫자보다 큰 숫자를 모두 출력하는 프로그램을 작성하시오.
(단, 리스트에 저장되는 숫자는 2자리 자연수이고 중복될 수 있다.)


[입력 예시1]
2 → 인덱스
11 → 기준 숫자

[출력 예시1]
무작위로 입력된 값]
11, 22, 33, 44, 55, 0

인덱스 0~2까지 중 기준숫자 11보다 큰 숫자]
33


[입력 예시2]
-2 → 인덱스
5 → 기준 숫자

[출력 예시2]
무작위로 입력된 값]
99, 88, 88, 77, 66, 55, 44, 33, 22, 11, 0

리스트의 범위를 벗어났습니다.


[입력 예시3]
99 → 인덱스
0 → 기준 숫자

[출력 예시3]
무작위로 입력된 값]
77, 11, 55, 0

리스트의 범위를 벗어났습니다.

 

 

참고풀이]

import random

#2자리 자연수를 발생한다.
nList=[]
while True:
    N=random.randrange(100)
    if N==0:
        nList.append(N)
        break
    if N>=10:
        nList.append(N)

#인덱스 값과 기준숫자를 입력받는다.
I=int(input())
Key=int(input())

#무작위로 발생된 값을 출력한다.
print("\n무작위로 입력된 값]")
for n in nList:
    print(n,end="  ")
print("\n")

#인덱스값이 범위를 벗어났는 지 체크한다.
if I<0 or I>len(nList):
    print("리스트의 범위를 벗어났습니다.")
else:

    print("인덱스 0~%d까지 중 기준숫자 11보다 큰 숫자]"%I)
    for i in range(0,I+1):
        if nList[i]>Key:
            print(nList[i],end="  ")
    print()
    

 

 

참고풀이 결과]

 

 

 

대한민국의 아름다운 영토, 독도의 가을

 

 

반응형

댓글