매개 변수로 나눗셈 문제를 입력하려고하고 있는데 응답이 < 인 경우 항상 0이됩니다. 왜 이런 일이 발생하는지 알지만 어떻게해야하는지 잘 모르겠습니다. 이것을 고쳐서 십진수로 대답하십시오.입력 매개 변수로 나누기 0으로 나누기
def division(x): print x
"x"는 1/2이며, 코드 인쇄 "0.5"
내가 JES 버전 5.020을 사용하고 있습니다. 모든 지침을 많이 주시면 감사하겠습니다!
매개 변수로 나눗셈 문제를 입력하려고하고 있는데 응답이 < 인 경우 항상 0이됩니다. 왜 이런 일이 발생하는지 알지만 어떻게해야하는지 잘 모르겠습니다. 이것을 고쳐서 십진수로 대답하십시오.입력 매개 변수로 나누기 0으로 나누기
def division(x): print x
"x"는 1/2이며, 코드 인쇄 "0.5"
내가 JES 버전 5.020을 사용하고 있습니다. 모든 지침을 많이 주시면 감사하겠습니다!
먼저 분할라는 기능을 아무런 문제가 없다 .
실제 문제가 생겼습니다. 당신은 파이썬 2를 사용하고 있습니다. 파이썬 2에서 정수의 나눗셈은 항상 정수입니다. 따라서 1/3 (0.33과 같아야 함)은 단지 0입니다.
해결 방법은 하나 이상의 숫자를 실수로 변환하는 것입니다. 이것은 다음과 같은 방법으로 수행 할 수 있습니다
float(1)/3
1.0/3
그리고 숫자가 함수에 전달하기 전에 네, 현재 설정에서,이 부문이 발생합니다. 따라서 함수가 완벽하게 작동하면 입력을 변경해야합니다.
편집 :
은 입력을 변경하고 정수의 포인트 부문 부동 지원할 필요가없는 경우가 미래 모듈을 사용합니다. 이 코드의 시작 부분에이 줄을 추가 파이썬 2
에 파이썬의 일부 3 개 기능을 제공합니다 :
from __future__ import division
내가 할 수있는 일이 가능한 것일까 요? 나누기가 발생하기 전에는 입력을 부동 소수점 숫자로 변환 할 수 없습니다. 사용자가 매개 변수 "1/2"을 지정하고 함수가 0 대신 .5임을 알기를 원합니다. –
가능하지만 왜 그렇게하고 싶은지 이해할 수 없습니다. 숫자 입력은 숫자 일 것이고 숫자의 분수 표현은 아닙니다. 최소한 그것이 프로그래밍 언어가 가정합니다. 사용자가 언어에서 지원하지 않는 표현으로 숫자를 입력 할 수있게하려면 문자열로 입력 한 다음 원하는대로 입력을 처리해야합니다. 하지만 운좋게도 작은 수정으로 원하는 결과를 얻을 수 있습니다. 내 편집 된 답변을 참조하십시오. – shish023
그래,'from __future__ import division'을 시도했지만로드되지 않고 유효하지 않은 구문 오류가 발생합니다. 여기에서 어디로 가야할지 모르겠습니다. –
이의 논리를 추가'데프 divison()' – Juggernaut
나도 몰라 무슨 뜻인지 . 내가 읽을 수있는 기사가 있습니까? –