📜  按升序打印二维坐标点,然后打印其频率(1)

📅  最后修改于: 2023-12-03 15:25:53.859000             🧑  作者: Mango

按升序打印二维坐标点,然后打印其频率

本程序旨在帮助程序员按照升序打印二维坐标点,并且统计其频率,以帮助程序员更方便地分析和处理数据。

输入格式

本程序接受一个二维坐标点的列表,列表中每个元素为一个二元组,表示一个点的坐标。例如:

[(1, 2), (3, 4), (1, 2), (5, 6), (3, 4)]
输出格式

程序的输出分为两部分:

  1. 按照升序打印每个坐标点,每个点占一行,格式为:(x, y)
  2. 统计每个坐标点的出现频率,按照升序打印,每个坐标点及其频率占一行,格式为:(x, y): count

例如,对于输入 [(1, 2), (3, 4), (1, 2), (5, 6), (3, 4)],程序的输出应该为:

(1, 2)
(3, 4)
(5, 6)
(1, 2): 2
(3, 4): 2
(5, 6): 1
代码实现

使用 Python 语言实现该程序,代码如下:

def print_coordinates_with_frequency(coordinates):
    sorted_coordinates = sorted(coordinates)
    frequency_dict = {}
    for coordinate in sorted_coordinates:
        if coordinate not in frequency_dict:
            frequency_dict[coordinate] = 1
        else:
            frequency_dict[coordinate] += 1
    for coordinate in sorted_coordinates:
        print(coordinate)
    for coordinate, frequency in frequency_dict.items():
        print("{}: {}".format(coordinate, frequency))

该函数接受一个二维坐标点的列表作为参数,将其按照升序排序后,统计每个坐标点的出现频率,最后按照要求输出坐标点和频率信息。

调用示例
coordinates = [(1, 2), (3, 4), (1, 2), (5, 6), (3, 4)]
print_coordinates_with_frequency(coordinates)

程序的输出:

(1, 2)
(3, 4)
(5, 6)
(1, 2): 2
(3, 4): 2
(5, 6): 1