代码:Python,错误类型:“int”对象不可下标

时间:2021-04-15 06:28:46

标签: python python-3.x pycharm

因此,问题是编写一个空函数,该函数取一个 4 位数字并将前两位和后两位的平方相加。

我的解决方案是

def add():
print("Enter a 4 Digit number")
num = int(input())
if 999 < num < 10000:
    c = int(num[0:2])
    d = int(num[2:4])
    e = (c ** 2) + (d ** 2)
    print(e)
else:
    print("Enter a valid number")

添加()

#it 显示错误:'int' 对象不可下标

2 个答案:

答案 0 :(得分:0)

这应该有效

def add():
    print("Enter a 4 Digit number")
    num = int(input())
    if 999 < num < 10000:
        c = int(str(num)[0:2]) #You first need to convert it into str
        d = int(str(num)[2:4]) #Same here
        e = (c ** 2) + (d ** 2)
        print(e)
    else:
        print("Enter a valid number")
add()

答案 1 :(得分:0)

你必须知道整数不能被切片。因此,您需要像下面的代码一样将其再次转换为字符串

def add():
print("Enter a 4 Digit number")
num = int(input())
if 999 < num < 10000:
    num = str(num)    # change made to your existing code
    c = int(num[0:2])
    d = int(num[2:4])
    e = (c ** 2) + (d ** 2)
    print(e)
else:
    print("Enter a valid number")