为什么我无法获取“ int”

时间:2020-09-25 01:40:09

标签: python-3.x list function dictionary for-loop

我要在哪里打印出来:

“ HTTP错误”

成功错误

401:未经授权的

因此,基本上,我创建了一个名为def create_error_dictionary(error_codes,error_description)的函数,它的作用是将error_codes的数量和error_descriptions中的字符串作为数字,并使其成为字典的键,字符串,字典的值。然后将字典返回到主字典,在def get_error_code_information(error,error_code_dictionary,error_category_dictionary)中使用该字典。此功能将打印出

HTTP错误

成功错误

401:未经授权

2 .split()部分是分割'status:HTTP / 2.401',以便列表看起来像这样:['2','401']之后,我做了一个for循环,将类型从str更改为int,以便可以在我的print语句中使用它进行索引。但是问题是,当我运行时,存在TypeError:'int'对象不可下标。我一直在坚持如何打印此信息,并且我想知道是否有一种方法可以使我从create_error_dictionary转到get_error_code_information,而无需深入了解主要内容。

def create_error_dictionary(error_codes, error_descriptions):
    error_code_dict = {}
    v = 0
    for i in error_codes:
        error_code_dict[i] = error_descriptions[v]
        v += 1

    return error_code_dict
    


def get_error_code_information(error, error_code_dictionary, error_category_dictionary):

    split_num_HTTP_error = error.split('/')
    split_num_error = split_num_HTTP_error[1].split('.')
    for char in split_num_error:
        split_int_error = int(char)
    print(f'HTTP ERROR\n {error_category_dictionary[split_int_error[0]]} Error\n {split_int_error[1]}:{error_code_dictionary[split_int_error[1]]}')
          
          
          

          
error_codes = [400, 401, 402]

error_descriptions = ['Bad Request', 'Unauthorized', 'Payment Required']

error_category_dictionary={1:'Information', 2:'Successful', 3:'Redirection'}


a = create_error_dictionary(error_codes, error_descriptions)

print(get_error_code_information('status:HTTP/2.402',a, error_category_dictionary))

1 个答案:

答案 0 :(得分:0)

您有一个循环:

for char in split_num_error:
    split_int_error = int(char)

其后是执行以下操作的代码:

print(f'HTTP ERROR\n {error_category_dictionary[split_int_error[0]]} Error\n {split_int_error[1]}:{error_code_dictionary[split_int_error[1]]}')

请注意,尽管split_int_error是单个(不可下标)split_int_error,但它如何在索引0和1处索引int

您可能是想做类似的事情:

split_int_error = [int(char) for char in split_num_error]

list的所有整数转换后的分量中的split_num_error吗?