문제9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다. 입력첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.
출력첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.
|
[틀리게 작성한 원본] :
input_list=[]
for i in range(9):
# 근데 map~이렇게만쓰면 map오브젝트 주소값만뽑아서 x for x써줘야한다 생각해서 쓴건데
# 이렇게 쓰니까 map오브젝트에서 generator타입으로 바뀌었음
input_list.append(x for x in map(int, input().split('\n')))
max_value = max(input_list)
order_in_input_list = input_list.index('max_value')
for a in input_list:
if(a<100):
print(max_value)
print(order_in_input_list)
else:
print("error")
이 때 발생한 오류 : TypeError: '>' not supported between instances of 'generator' and 'generator'
[수정 1] :
input_list=[]
for i in range(9):
a = int(input().split('\\')
if a<100:
input_list.append(a)
print(max(input_list))
print(input_list.index(max(input_list))+1)
이 때 발생한 오류 : TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'
문제에서 엔터를 쳐서 값을 input받는다는 것에 split안에 개행문자를 넣었지만
이렇게 넣으니 list타입으로 들어가게 되었고,
사실 for문을 돌며 인풋 받을 때마다 엔터를 치니까 개행문자 안 넣어도 되었으며 int(input())은 int형식을 받음
[답1 ] :
num_list=[]
|
혹은 if문을 빼도 됨
|
나와 같은 질문▽
https://dojang.io/mod/forum/discuss.php?d=856
파이썬 코딩 도장: 6.4 두 변수를 바로 정수형으로 바꿔 주는 방법에 대해서
변수는 값을 바꿀 수 있습니다. >>> a = 10>>> a10>>> a = 20>>> a20>>> 파이썬은 여러 가지 편리한 문법을 제공하지만, 언어 전체를 학습하기 전에는 자칫 오해를 불러일으킬 수 있습니다. >>> b = 10, 20>>> b(1
dojang.io
※ 참고 )반복문으로 리스트 만들기
https://dojang.io/mod/page/view.php?id=2293
파이썬 코딩 도장: 23.3 반복문으로 리스트 만들기
이번에는 for 반복문과 append를 활용하여 리스트를 만드는 방법을 알아보겠습니다. 23.3.1 for 반복문으로 1차원 리스트 만들기 먼저 요소 10개가 일렬로 늘어서 있는 1차원 리스트부터 만들어보겠
dojang.io
'Coding' 카테고리의 다른 글
커널아 왜 자꾸 죽는거니? (0) | 2022.12.05 |
---|---|
터미널창에서 글자를 복사할 땐 (0) | 2022.10.06 |
파이썬 스니펫(조각코드 모음집, 위키독스) (0) | 2022.09.22 |
크롤링 코드 샘플 (0) | 2022.07.22 |
pipreqs - 설치한 라이브러리만 requirements로 뽑고 싶을 때 (0) | 2022.07.14 |