프로그래밍에 익숙하지 않아서 Python으로 작업합니다. 이것은 문자 그대로 수업의 제 3 주입니다. 과제는 다음과 같습니다._stdout의 값이 올바르지 않습니다.
You have to do your chemistry homework, but you hate looking up elements on the periodic table! Write a program that takes the name of an element (as a string, independent of case) from standard input and prints a double representing its atomic weight to standard output. Only implement the program for the first three elements, hydrogren, helium, and lithium, which have the respective atomic weights 1.008, 4.0026, and 6.94. If anything else is given as input, print the statement "Sorry, I don't recognize that element!" <
좋아, 그렇지 않으면 확인하십시오. 이번 주에 마지막 20 가지 과제와 정말로 다른 점은 없습니다.
그래서 :
element = (input('Enter chemical name'))
name = element.lower()
if name == "hydrogen":
print('Atomic weight: 1.008')
elif name == "helium":
print('Atomic weight: 4.0026')
elif name == "lithium":
print('Atomic weight: 6.94')
else:
print('Sorry, I do not recognize that element!')
때문에 사용자는 해당 문자열이 모두 소문자 그래서 낮은 기능을 통해 이름을 전달됩니다, 이름을 입력. 그렇다면 그것은 단지 if/else 사이클 일뿐입니다. 똑바로 앞으로?
잘 MyProgrammingLab 다음과 같은 오류를 다시 던지고있다 : 그래서
The value of _stdout is incorrect.
... 그래. _stdout이란 무엇입니까? 나는 그것이 파이썬의 내장 함수라는 것을 발견했다. 그러나 나는 그것이 실제로 무엇을하는지, 또는 그것이 내 프로그램에서 사용되는 이유를 모른다. 나는 그것을 부르지 않을 것이다.
여러분의 코드는 컴파일되지 않습니다. 'elif'다음에 성명이 필요합니다. – hnefatl
MyProgrammingLab이 일종의 응답 확인 서비스라고 생각합니다. 나는이 오류 메시지가 단지 "이 프로그램이 예상했던 것과 일치하지 않는 출력을 생성하고있다"또는 "이 프로그램이 충돌하고있다"라는 것을 의미하는 것으로 의심된다. 보다 유용한 오류 메시지를 제공하는 환경에서 프로그램을 로컬로 실행하는 것이 좋습니다. 예를 들어, 내 컴퓨터에서 "IndentationError : 8 행에 들여 쓰기 된 블록이 예상 됨"오류 메시지가 나타납니다. – Kevin
오류/예외를 throw하는 코드에 대한 질문을 할 때는 전체 Traceback을 게시하십시오. SO에 오신 것을 환영합니다 - 시간을내어 [ask]와 [mcve]를 읽으십시오. – wwii