修复后的代码:

def parse_parameters(parameters):
    parameter_types = []
    for parameter in parameters:
        if parameter.startswith('int'):
            parameter_types.append('int')
        elif parameter.startswith('char*'):
            parameter_types.append('pointer')
        elif parameter.startswith('float'):
            parameter_types.append('float')
        elif parameter.startswith('double'):
            parameter_types.append('double')
        elif parameter.startswith('void'):
            parameter_types.append('void')
        elif parameter.startswith('function'):
            parameter_types.append('function')
    return parameter_types

测试用例:

def test_parse_parameters():
    parameter_types1 = parse_parameters(['int', 'char*', 'float'])
    assert parameter_types1 == ['int', 'pointer', 'float']

    parameter_types2 = parse_parameters(['char*', 'function'])
    assert parameter_types2 == ['pointer', 'function']

    parameter_types3 = parse_parameters(['int', 'void'])
    assert parameter_types3 == ['int', 'void']

修复后,第二个测试用例的断言应该为assert parameter_types2 == ['pointer', 'function']

第二个测试用例中assert parameter_types2 == char function中的char应该为pointer请修复这个bug并重写代码

原文地址: https://www.cveoy.top/t/topic/dbtD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录