【问题标题】:Int object not subscriptable?Int 对象不可下标?
【发布时间】:2021-04-09 02:13:15
【问题描述】:

你好,

我遇到了一个编码练习题,我必须创建一个函数来添加两个数字的第一个数字。在这个函数中,我尝试使用num1[0]num2[0] 来获取每个数字的第一个数字,然后将其转换为整数,但我总是被告知 int 不可下标。这里有什么问题?

def get_funny_sum(num1, num2):
 num1 = int(num1[0])
 num2 = int(num2[0])
 sum = num1 + num2
 return sum

对于这个练习,我不做 get_funny_sum() 部分,只做 def get_funny_sum() 部分。

【问题讨论】:

  • 确保 num1num2 是字符串

标签: python python-3.x


【解决方案1】:

Subscriptable 表示对象实现了__getitem__() 方法。换句话说,它是针对作为其他对象“容器”的对象;例如字符串、列表、元组或字典。

这种方式无法访问数字,可以尝试将其转换为字符串,然后访问第一个位置,然后将其转换回int进行求和运算,有点过于复杂:

def get_funny_sum(num1, num2):
    num1 = str(num1)
    num2 = str(num2)
    acc = int(num1[0]) + int(num2[0])
    return acc

print(get_funny_sum(23, 45))

或者尝试执行除以十的幂来得到你想要的正确数字

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-15
    • 2021-11-26
    • 2012-02-21
    • 2018-08-07
    • 2015-04-26
    • 2012-08-04
    • 1970-01-01
    相关资源
    最近更新 更多