我收到语法错误: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
答案 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))