为什么我会收到“int is not subscriptable”错误消息?

受虐和辣

我正在制作一个二进制到十进制转换器,我们不能使用 int() 或 bin()。我认为我已经得到了正确的代码,除了它一直告诉我“int 不可下标”!帮助!

binaryNum = input("Enter a binary number: ") decimalNum = 0 count=0

while(int(binaryNum))>0:
    count=count+1
    binaryNum=int(binaryNum)//10
    power = count

while power >= 0:
    if int(binaryNum[power]) == '1': #here is the problem
        decimalNum += 2**power
        power -= 1


print(decimalNum)
1v3m

您可以简单地这样做,(ord函数将返回给定数字的 ASCII 值,因此如果您从 48 中减去该数字,即 '0' 的 ASCII 值,您将轻松转换数字)

binary = input('enter a number: ')
decimal = 0
for digit in binary:
    digit = ord(digit) - 48 
    decimal = decimal*2 + digit
print(decimal)

如果你不想使用额外的功能,你可以这样做

binary = input('enter a number: ')
decimal = 0
for digit in binary:
    digit = 1 if digit == '1' else 0
    decimal = decimal*2 + digit
print(decimal)

而你的问题原因是你不能迭代一个整数

while(int(binaryNum))>0:
    count=count+1
    binaryNum=int(binaryNum)//10 ### here you assign binaryNum as integer
    power = count

while power >= 0:
    if int(binaryNum[power]) == '1': ### and you cant iterate binaryNum because it is an integer
        decimalNum += 2**power
        power -= 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我会收到错误消息

为什么我会收到此程序的“ValueError”消息?

分段错误 - 为什么我会收到此错误?

为什么我会收到分段错误错误?

为什么我会收到“圆形视图路径错误”?

为什么我会收到价值错误

为什么我会收到此错误

为什么我会收到 fsck 错误?

为什么我会收到安装 imposm 的错误?

为什么我会收到主题行的分段错误

为什么我会收到此错误:ActiveRecord::AssociationTypeMismatch?

为什么我会收到 Unexpected Token ,错误?

为什么我会收到JavaScript参考错误?

为什么我会收到 gulp-changed 错误?

为什么我会收到此错误?

为什么我会收到FirebaseAppService的断言错误

为什么我会收到 Django NoReverseMatch 错误?

为什么我会收到这个 android 内核错误

为什么我会收到此错误窗口表格?

为什么我会收到此错误 (NoMethodError)

为什么我会收到身份验证错误?

为什么我会收到“运行时错误 '13':类型不匹配”错误消息?

无法安装枕头:为什么我会收到错误消息?

为什么我会收到有关更新未安装组件的错误消息?

为什么我会收到错误消息,将值\“ [Function:ObjectId]”强制转换为ObjectId?

为什么我会收到错误消息“AttributeError: module 'pprint' has no attribute 'PrettyPrinter'

为什么我会收到错误消息JwtStrategy需要密码或密钥?

为什么我会收到错误消息,指出存在未解决的VPC依赖关系?

为什么我会收到此错误:参数类型“String”不能分配给参数类型“int”?