1
我正在尝试编写一个函数,该函数在给定位长的情况下找到有符号/无符号的最大/最小值。但我每次执行函数时我得到一个错误,这里是我的代码如何将列表中的数字作为函数中的整数
#function to find max and min number of both signed and unsigned bit values
def minmax (n) :
for numbers in n :
unsignedmax = (2**n)-1
unsignedmin = 0
signedmax = 2**(n-1)-1
signedmin = -2**(n-1)
print "number ", "unsigned ", "signed"
#Main
bitlist = [2, 3, 8, 10, 16, 20, 32]
minmax(bitlist)
误差
Traceback (most recent call last):
File "C:/Users/Issac94/Documents/Python Files/sanchez-hw07b.py", line 23, in <module>
minmax(bitlist)
File "C:/Users/Issac94/Documents/Python Files/sanchez-hw07b.py", line 6, in minmax
unsignedmax = (2**n)-1
TypeError: unsupported operand type(s) for ** or pow(): 'int' and 'list'
>>>
我没有写完,但跑了,以确保没有错误在逻辑部分,但当我试图找到这些值时,我得到了一个错误。有没有可能插入int()或类似的东西,使数字被视为类型整数,而不是tyle列表,我假设正在发生?
'n'(通过参数'bitlist')是一个列表,你试图提高2的列表的权力!似乎你已经交换了'n'和'数字'。 – mshsayem