2015-01-28 5 views
0

추가를 위해 간단한 계산기를 만들려고하고 있는데 문제가 있습니다.오류 : 함수 호출에 할당 할 수 없습니다.

print('welcome to calculator')  # Print opening message 
print(' ') #Spacer 
int(sum1) = input('number') # Get input for first number, this variable later becomes the sum : ERROR: Can't assign to function call 
int(add1) = input('number') # Get input for second number : Assumed error for this line as well 
sum1 = sum1 + add1  # Add the variables together to get the sum 
print(str(sum1)) # Change the sum to a string and print it 
loop = 1 # Set loop to True 
while loop == 1: # Continue the program until user inputs add1 as '0' 
    int(add1) = input('number')  # Get value for add1 
    if add1 == 0: # Stop the program when add1 is equal to 0 
     loop = 0 # Set loop to false 
     break 
    sum1 = sum1 + add1 # Add the variables together to get the new sum 
    print(str(sum1)) # Change the sum to a string and print it 
print('done!') # Print ending message 

여기 오류는 세 번째 줄에 있습니다 (그리고 네 번째 오류도 있다고 가정합니다). 원래는 단지

sum1 = input('number') 

을 가지고 있지만, SUM1 변수와 ADD1를 추가 할 수있을 때 변수 SUM1은 서로의 끝 부분에 문자열을 추가, 5 행에, 그래서 문자열로 취급되고 있었다. (예 : 15 + 10 = 1510)

변수를 정수로 변환 할 때 내가 잘못된 일을하고 있습니까? 아니면이 문제를 해결하기 위해 잘못된 방법입니까?

+0

이 Python 2 또는 Python 3입니까? 파이썬 2 인 경우'input()'대신'raw_input()'을 사용해야합니다. –

답변

3

파이썬이 int(sum1)에 무엇인가를 저장하도록 요청하고있다.

당신은 정수로 input() 호출의 결과 변환 을 원한다면, 당신이있는 그 결과를 저장하는 input() 전화가 아닌 변수의 반환 값에 적용해야합니다 :

sum1 = int(input('number')) 

동일하게 코드에 add1 사례가 적용됩니다. 사용

add1 = int(input('number')) 

지금 우측 식은 정수 결과를 생성 각각 sum1add1에 저장한다.

0

int(sum1) = input('number')이 잘못하고 당신이 int에 입력을 캐스팅하고 두 번째 경우에 sum1 = int(input('number')) 을해야합니다 - 당신이 원하는 무슨이다. 첫 번째 경우에 함수를 캐스팅하려고합니다. 무엇을 Python이 불평하고 있습니다.

또한 코드의 어디에서나 변경해야합니다! 오른쪽에 의해 생성 된 결과를 저장하는 대상이 될해야 = 기호의 왼쪽에

int(sum1) = input('number') 

모든 : 당신은 int() 함수 호출의 결과에 할당하려고

0

정수로 변환해야합니다. 올바른 방법입니다.

x = int(input("something")) 
관련 문제