2014-01-21 138 views
-1
a = 3,3 b = 5,3 
a2 = a**2 
b2 = b**2 
eq1_sum = a2 + 2ab + b2 
eq2_sum = a2 - 2ab + b2 
eq1_pow = (a + b)**2 
eq2_pow = (a - b)**2 
print ’First equation: %g = %g’, % (eq1_sum, eq1_pow) 
print ’Second equation: %h = %h’, % (eq2_pow, eq2_pow) 

這個程序就顯示錯誤:不支持的操作類型錯誤

TypeError: unsupported operand type(s) for ** or pow(): 'tuple' and 'int'

回答

2

你需要的,如果你想用一個浮點數使用.

a = 3.3 
b = 5.3 
a2 = a**2 
b2 = b**2 

否則,使用逗號,創建一個元組:

>>> a = 3,3 
>>> type(a) 
<type 'tuple'> 
>>> a = 3.3 
>>> type(a) 
<type 'float'> 

你現在得到一個錯誤,因爲ab是元組,你不能提高元組的權力。

相關問題