2017-02-23 1 views
0

복합 함수 계산기를 만들려고 시도했지만 일부 문제가 있습니다.프로그램을 실행할 때이 오류가 발생합니다. "ValueError : 밑이 10 인 int()에 대한 리터럴이 올바르지 않습니다."

import math 

xval = input(int("what is the value of X?")) 

fval = input(str("what is the value of f?")) 

gval = input(str("what is the value of f?")) 

이것은 작동하지 않는 코드 비트입니다. "xval"변수에 대해 계속 오류 메시지가 표시됩니다.

ValueError: invalid literal for int() with base 10: 'what is the value of X?'

온라인으로 둘러 보았지만 코드에 문제가 없습니다.

답변

1

결과를 정수로 변환하려면 먼저 input을 실행하고 int을 실행해야합니다.

그렇지 않으면 당신은 str가 중복, 정수 다른 라인에서

xval = int(input("what is the value of X?")) 

로 텍스트를 변환하려고하지만, 당신이 원하는 정말? 내 말은 그게 fval이고 gval도 숫자 여야한다는 뜻입니다.

아, 그리고 gval의 텍스트가 있어야한다 "g의 값이 무엇"

float()

사용을 고려 또한 소수점 숫자를 필요로하는 경우 int은 정수로 입력을 전환 할 것을 계정에 걸릴

설명 :

원래 라인 input(int("what is the value of X?")) 기본적으로 수행하는 다음 단계 :

  1. "X의 값은 무엇입니까?"라는 문자열을 만듭니다.
  2. 이 문자열을 정수로 변환하려고합니다 (실패하면)
  3. 포인트 2가 실패하지 않는다고 가정하면 input은 정수로 텍스트를 제공하고 (다시 실패하고) 사용자 입력을 저장합니다 문자열로. 결과적으로 당신의 변수 xval 당신이 실행해야하므로, 처음 input을 실행하고 정수로 입력 값을 변환하는 것입니다 원하는, 대신

(당신이 원하는하지 않은) 문자열을 것 : 당신은 입력 문자열, 다음 int()에 캐스트가 실패하는 경우, 당신은 try을 사용 가능한 exeption를 잡을 수도 있습니다

xval = int(input("what is the value of X?")) 

하는 것으로. 당신이 Python3.x를 사용하는 경우

+0

을 얻을 것이다

x = input("what is the value of X?") 

당신은 다음 형식을 사용하여 x의 유형을 확인하실 수 있습니다, 그래서 당신은 설명해주십시오 수 : X, 당신은 이런 식으로 할 필요가 무슨 말이야? 편집 : 죄송합니다, 지금 이해합니다. 나는 엉뚱한 곳에 int를 넣는다. 도와 주셔서 감사합니다. –

0

, 파이썬 3.x를 평가하고 데이터 형식을 변환하지 않습니다, 당신은 명시 적으로 Python2를 사용하는 경우

x = int(input("what is the value of X?")) 

을 int로 변환해야합니다.(X), 당신은 내가 프로그래밍에 아주 새로운 해요 <type 'int'>

관련 문제