2014-12-02 2 views
-4

나는 단지 재미로 숫자를 정사각형으로 만들 프로그램을 만들기로 결정했다. 온라인 컴파일러를 사용하여 코드를 입력했는데 에러가없는 것으로 보았습니다. 그것은 빈 콘솔 엔트리 만 가질 것입니다.제곱 기능이 작동하지 않는 이유는 무엇입니까?

내 코드 :

import math 

def square(): 
    number = raw_input("Please enter a number for me to square.") 
    number*number 
    print "Your answer is..." 
    print number 

Repl.it 출력 :

+3

먼저 ** 함수 **를 호출해야합니다. 그러면 계산을 변수 (아마도'number')에 할당해야한다는 것을 알 수 있습니다. – fredtantini

+0

당신은'import math' (Martijn이 제공 한 답변에 더하여)가 필요하지 않습니다. – Andy

답변

4

만들 않도록 당신도 전화 함수 :

def square(): 
    # your function body here 

square() 

그러나 함수에서 , 당신은 resu를 무시하고 있습니다. 여기 계산의 LT : 뭔가 결과

number*number 

지정은 :

answer = number * number 
print "Your answer is..." 
print answer 

당신은하지만, 숫자가 없습니다. raw_input()문자열을 반환, 그래서 당신은 먼저 숫자로 그것을 변환 할 : 이것은 사용자가 실제로 정수로 변환 할 수있는 무언가를 입력한다고 가정

number = int(number) 

; 숫자 만 가능하고 일부 공백 문자와 처음에는 + 또는 -입니다. 여기서 사용자 오류를 올바르게 처리하려면 고급 옵션을 보려면 Asking the user for input until they give a valid response을 살펴보십시오.

+0

제가 언급 한 것들을했지만 실행했을 때 숫자를 묻습니다. 그러나 숫자를 입력하고 엔터를 누르면이 에러가납니다. , 역 추적 (마지막으로 가장 최근 통화) : 파일 "", 8 호선, 파일 ""에서, 5 호선, 사각형 형식 오류의 형식 'STR' – Galakras

+0

의 비 INT에 의해 순서를 곱 수 없습니다 @ 갈 락라 : 업데이트; 'raw_input()'는 정수가 아닌 문자열을 반환합니다. –

관련 문제