我在编写计算器代码时遇到问题
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))
我收到语法错误: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))