我在编写计算器代码时遇到问题

I'm having trouble coding a calculator

我收到语法错误:Traceback(最近调用最后一次): 文件 "python",第 4 行,位于 类型错误:** 或 pow() 不支持的操作数类型:'unicode' 和 '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
例如,

raw_input 正在返回一个字符串,可能是 - see this question。尝试做 int(number) - 但要做好准备,你的人可能不会给你一个整数!

您需要修改几个地方的代码- 首先需要在raw_input ('Insert a number: ')周围加上int,否则number就是str类型。你还需要在answer周围添加str,因为你不能添加字符串和数字。最后将1/2替换为1./2,如python2,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))