2017-04-26 4 views
0

추적 오류 (가장 최근에 마지막으로 호출) : 에있는 "python"파일의 4 행 File : TypeError : ** 또는에 대해 지원되지 않는 피연산자 유형 펑() : '유니 코드'와 'INT'계산기를 코딩하는 데 문제가 있습니다

편집 : 그래서 이것은 나의 새로운 코드입니다 좋아 당신이 수

없는 뭔가를 입력 할 때까지 그래서 당신은 다른 번호를 입력 할 수 있습니다 끝났어 일단은 다시거야
while True: 
    print 'Welcome to the "Square Root Calculator"' 
    print 
    number = float(raw_input ('Insert a number: ')) 
    answer = number ** (1./2) 
    print 
    if number: 
     print ('Square Root: ' + str(answer)) 
    else: 
     break 
    print '#=====================================================#' 
    print '|              |' 
    print '#=====================================================#' 
pass 
+2

임 확실하지만, 두 개의 곱셈은 무엇을 의미합니까하지 :

여기

는 수정 된 버전인가? ** –

+2

파이썬의 지수입니다. – kcrisman

답변

0

당신은 그렇지 number 타입 STR의, 당신은 raw_input ('Insert a number: ') 주위 int를 추가 할 몇 가지 places- 최초의 코드를 수정해야합니다. 문자열과 숫자를 추가 할 수 없기 때문에 answer 주위에 str을 추가해야합니다. 마지막으로 1/2을 1./2로 바꿉니다. 파이썬 2에서와 같이 1/2은 0입니다. 빈 행을 만들려면 \n을 적절한 위치에 추가 할 수 있습니다.

print 'Welcome to the "Square Root Calculator\n' 
number = float(raw_input ('Insert a number:')) 
answer = number ** (1./2) 
if number: 
    print ('\nSquare Root: ' + str(answer)) 
+0

그래서 raw_input 앞에 'int'를 추가하면 입력 한 문자가 숫자로 표시됩니다. – Zerp

+0

예, 구체적으로는 int로 표시됩니다. float 입력을 허용하려면 int를 float로 바꿀 수 있습니다. –

+0

int와 float 사이에 코드가 작동하지 않을 가능성이있는 모든 차이점이 있습니까? – Zerp

0

raw_input은 문자열을 반환합니다 (예 : see this question). int(number)을 시도해보십시오. 그러나 사람이 정수를 제공하지 못할 수도 있습니다.

관련 문제