Python UVa#11340

Python UVa#11340,python,python-3.x,Python,Python 3.x,问题: 我使用dict存储值和字符作为键。我将输入的每一行作为字符串读取,并查看每一行中的每个字符在dict中是否都有值 这是它告诉我们的信息: 每行最多可包含10000个字符。请注意较大的输入大小,整个输入文件大约为7MB 但我想我可以忽略上面的信息。这是我的密码: def main(): test_case = int(input()) for t in range(test_case): number_of_paid_characters = int(in

问题:

我使用dict存储值和字符作为键。我将输入的每一行作为字符串读取,并查看每一行中的每个字符在dict中是否都有值

这是它告诉我们的信息:

每行最多可包含10000个字符。请注意较大的输入大小,整个输入文件大约为7MB

但我想我可以忽略上面的信息。这是我的密码:

def main():
    test_case = int(input())

    for t in range(test_case):
        number_of_paid_characters = int(input())
        paid_character_dict = {}
        for n in range(number_of_paid_characters):
            paid_character, value = input().split()
            paid_character_dict[paid_character] = int(value)

        paid = 0
        number_of_lines = int(input())
        for n in range(number_of_lines):
            line = input()
            for character in line:
                paid += paid_character_dict.get(character, 0)

        print("{:.2f}$".format(paid/100))


if __name__ == "__main__":
    main()
我的输出与uDebug中接受的输出相同

我想字符串处理可能有问题,但我不知道


我尝试发送代码好几次,但总是超过时间限制。有没有办法改进我的代码

请缩进您的代码,它没有运行。@alDiablo谢谢。现在它可以运行了。这就是整个练习的重点,看看你是否知道更好的算法来更快或更有效地解决问题。做这项工作。