因此,问题是编写一个空函数,该函数取一个 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' 对象不可下标
答案 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")