如何编写一个python函数,在不使用数组的情况下返回与索引相同的整数位数?

2024-04-19 12:27:13 发布

您现在位置:Python中文网/ 问答频道 /正文

编写一个名为index\ of\ digit的函数,该函数接受两个整数参数number和index。函数应该返回该索引处的整数位数

已尝试:

def index_of_digit(number, index):

  for i in range(number):

    if number[i] == index:
      return i
    else:
     print("None")
temp = index_of_digit(1724,0)

print(index_of_digits)

预期输入/输出:

index_of_digit(1724, 0) --> 1

index_of_digit(25670, 3) --> 7

错误消息:TypeError:“int”对象不可订阅


Tags: of函数innumberfor参数indexreturn
3条回答
def index_of_digit(number, index):
    return int(str(number)[index])

“函数应该返回该索引处的整数位”,那么您的逻辑就错了。如果将数字解析为字符串,则可以很容易地获得数字的索引。像这样:

def index_of_digit(number, index):
    try:
        print(str(number)[index])
    except:
        print("None")

输入/输出

index_of_digit(1724,0) -> 1

index_of_digit(1724,7) -> None

index_of_digit(25670,3) -> 7

下面是对代码的修改(基于注释中的解决方案),它将提供所需的输出:

def index_of_digit(number, index):
    if type(number) != int:
        print("Error: the first argument must be an integer.")
        return
    number_string = str(number)
    try:
      number_string[index]
      return int(number_string[index])
    except:
     print("Index is larger than the number of digits")
temp = index_of_digit(1724,0)

print(temp)

相关问题 更多 >