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

时间:2017-04-26 02:35:32

标签: python python-2.7 calculator square-root

我收到语法错误:Traceback(最近一次调用最后一次):   文件" python",第4行,in TypeError:**或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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您需要在多个地方修改代码 - 首先,您需要在int周围添加raw_input ('Insert a number: '),否则number的类型为str。您还需要在str周围添加answer,因为您无法添加字符串和数字。最后,用1/2替换1/2,如在python 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))