게시판

검색 결과: 32

, 박 진국님이 작성
 

아래와 같이 해서 IDLE에서 값이 정확하게 나오는데, 왜 '미제출'로 나올까요?


a, b, c, d = map(int, input().split())
a  >= 90 and b > 80 and c > 85 and d >= 80

 

IDLE에서 인터랙티브 모드로 하면 print가 없어도 결과가 출력됩니다.

>>> kor = 60
>>> kor
60
>>> print(kor)
60
>>>

그러나 심사는 스크립트 모드로 됩니다. 스크립트 모드에서는 kor만 입력하면 60이라는 결과가 출력되지 않습니다. 반드시 print(kor)처럼 print를 사용해야 합니다.

>>> kor > 100
False
>>> print(kor > 100)
False
>>>

스크립트 모드에서는 kor > 100은 아무 결과도 출력하지 않습니다.

UNIT 3을 참고해서 IDLE 메뉴에서 File > New File을 선택해서 파일로 만들어서 스크립트를 작성하고 F5 키 또는 Run 메뉴에서 Run Module로 실행해서 테스트하세요.


, 김 명준님이 작성
 

korean,english,mathmatics,science=map(int,input().split())

korean>=90 and english>80 and mathmatics>85 and science>=80

답이 아니라고 나오는 데 이유를 모르겠습니다. 그냥 저의 컴퓨터 phython IDLE로 해봤을 때는 답이 나오는데, 계속 심사를 넣으면 오류가 뜹니다. 어느 부분에서 틀렸는지 알려주세요.ㅠㅠ

, 도장_ 관리자님이 작성
 

IDLE에서는 식을 실행한 결과가 바로 표시되지만,

심사문제에서는 print 함수로 결과를 출력해줘야 합니다.

UNIT 8.4는 print( ___________ )으로 빈칸을 채우는 문제였습니다.

UNIT 8.5는 UNIT 8.4를 응용해 전체 코드를 제출하면 됩니다.


, bae sujin님이 작성
 

korean, english, math, sience = map(int, input().split())

korean >= 90 and english > 80 and math > 85 and sience >= 80


코드를 이렇게 적었는데 틀린건가요?

, 하 경선님이 작성
 
문의한 코드는 삭제합니다.

이 코드 왜 0점인지 아무리 봐도 모르겠습니다. 

파이썬 IDLE이나 파이참으로 실행해보면 코드 작동하고 문제에 변수명 어떻게 해라 이런 얘기는 없었고... 책에는 있었는지 모르겠지만요. 


+아 스펠링 오류났었네요... 

파이참 대체 어떻게 실행된거지... 

(도장_ 관리자님이 수정함 - 원문 제출일: 2020년 1월 7일, 화요일, 오후 10:33)

, 도장_ 관리자님이 작성
 

철자 오류는 프로 개발자도 종종 겪는 문제입니다.

스스로 발견했네요!


, 도장_ 관리자님이 작성
 

https://glot.io/snippets/fjc58p9x8a

이 문제는 빈칸 완성형입니다.

빈칸에 들어갈 코드를 넣으면 됩니다.

그리고 들여쓰기도 맞춰야 합니다.

문의한 코드 그대로 작성하면 위 링크와 같은 코드가 되니까 들여쓰기 오류가 발생합니다.

캡처한 화면에도 문법 오류에 IndentationError라고 되어 있는 이유가 들여쓰기가 맞지 않아서입니다.

while True:

다음에 들어가는 코드는 4칸씩 들여쓰기가 된 코드여야 합니다.


문의한 코드를 들여쓰기에 맞춰서 작성한 버전은 다음과 같습니다.

https://glot.io/snippets/fjc5c5rm6c

그러나 입력값 21 33일 때 제한 시간 내에 실행되지 않고, 무한히 실행됩니다.

다양한 입력 값에 대해서 올바르게 검증하는지 테스트해야 합니다.

UNIT 18.5는 3으로 끝나는 숫자만 출력하는 것이고, 18.6은 3으로 끝나지 않는 숫자만 출력하는 것입니다.

UNIT 18.5의 코드를 응용하면 됩니다.



 
해당 심사문제는 빈칸에 들어가는 코드만 제출해야 합니다.

문의한 코드는 입력
30 53 
에 대해서 출력
30 31 32 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 53 
입니다.

문제가 입력 30 53에 대해 원하는 출력은
30 31 32 34 35 36 37 38 39 40 41 42 44 45 46 47 48 49 50 51 52 
입니다.

3으로 끝나지 않는 숫자가 출력되어야 합니다. 바꿔 말해 3으로 끝나는 숫자는 출력되지 않아야 하지만, 문의한 코드는 53을 제출하고 있습니다.

따라서 버그가 있는 코드이므로 통과되지 않습니다.

심사문제는 정답이 없습니다. 대신에 누구나 통과할 수 있게 연습문제가 있고, 심사문제에서 해설에 힌트를 제공하고 있습니다.
UNIT 18.5는 3으로 끝나는 숫자만 출력하고, UNIT 18.6은 3으로 끝나는 숫자만 출력하지 않으면 됩니다.
따라서 문의한 것처럼 복잡하게 코드를 작성하지 않아도 UNIT 18.5의 정답 코드와 해설을 잘 이해해서 응용하면 UNIT 18.6의 심사문제로 쉽게 해결할 수 있을 것입니다.

, 도장_ 관리자님이 작성
 

중간에 숫자는 입력값이어서 .py 스크립트 모드에서는 오류입니다.

.py 실행한 후에 입력해야 하는 값입니다.

UNIT 6에서 IDLE에서 실행하는 인터랙티브 모드와 .py 스크립트 모드에서 입력을 처리하는 방법을 설명합니다.

자세한 것은 이전 답변을 참고하세요.

https://dojang.io/mod/forum/discuss.php?d=866#p2232