据说这里不会吃空格

本文介绍了一个简单的Python实现——麻点数据结构。该结构能够添加、遍历、计数和保存点数据,并且可以从文件加载数据。文章通过具体代码展示了如何使用这个类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

据说这里不会吃空格,试试看!
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. # -*- version: 3.0 -*-
  4. import os
  5. class Pock():
  6.     '''''麻点
  7.     
  8.     麻点由一组有序的点组成,每个点由横坐标x和纵坐标y来唯一标识。
  9.     不同的点可以拥有相同的坐标。
  10.     '''
  11.     def __init__(self):
  12.         '''''初始化麻点数据。'''
  13.         self.points = []    # 保存麻点的序列
  14.     def __str__(self):
  15.         '''''(测试用)获得麻点的数据信息'''
  16.         dump = ''
  17.         for point in self.points:
  18.             dump += '(%d,%d)' % point
  19.         return dump
  20.     
  21.     def count(self):
  22.         '''''获得麻点中点的个数。'''
  23.         return len(self.points)
  24.     
  25.     def iterator(self):
  26.         '''''按插入的顺序遍历每一个点'''
  27.         for point in self.points:
  28.             yield point
  29.  
  30.     def append(self, x, y):
  31.         '''''向麻点内添加点。'''
  32.         point = (int(x), int(y))
  33.         self.points.append(point)
  34.     def clear(self):
  35.         '''''清除麻点内的所有点。'''
  36.         self.points = []
  37.         
  38.     def save(self, filename):
  39.         '''''将麻点数据保存到文件。
  40.         filename - 文件名
  41.         '''
  42.         file = open(filename, 'w')
  43.         for point in self.points:
  44.             file.write('%d,%d/n' % (point[0], point[1]))
  45.         file.close()
  46.     def load(self, filename):
  47.         '''''从文件中读入麻点数据。
  48.         filename - 文件名
  49.         '''
  50.         newlist = []
  51.         if os.path.exists(filename):
  52.             file = open(filename, 'r')
  53.             lines = file.readlines()
  54.             file.close()
  55.             for line in lines:
  56.                 point = line.strip().split(',')
  57.                 x = int(point[0])
  58.                 y = int(point[1])
  59.                 newlist.append((x, y))
  60.         self.points = newlist
  61. if __name__ == '__main__':
  62.     p = Pock()
  63.     p.append(100200)
  64.     p.append(32380)
  65.     p.append(38318)
  66.     p.append(506348)
  67.     for x in p.iterator():
  68.         print(x)
  69.     print(dir(p))
  70.     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值