首页 > 编程语言 >python3: dlt - 数据结构2

python3: dlt - 数据结构2

时间:2023-11-11 09:02:05浏览次数:57  
标签:-- s2 self list dlt print 数据结构 python3

python3: dlt - 数据结构2

 

 

 

 

一、源程序

  1 [wit@fedora null]$ cat  test.py 
  2 #!/usr/bin/env python3
  3 
  4 
  5 
  6 
  7 # file_name = test.py
  8 # python_verion = 3.11.1
  9 
 10 
 11 
 12 
 13 # test this script
 14 def msg():
 15     print("\nhello, python3!\n")
 16 
 17 
 18 # running msg()
 19 # msg()
 20 
 21 
 22 
 23 
 24 # define class for data
 25 class dlt_data:
 26     def __init__(self):
 27         self.no = 0
 28         self.id = []
 29         self.f = []
 30         self.b = []
 31 
 32     def set(self, uno, uid, ufront, uback):
 33         self.no = uno
 34         self.id = uid
 35         self.f.extend(ufront)
 36         self.b.extend(uback)
 37 
 38     def title(self):
 39         print(f"\n\tNo.\tid\t\tfront\t\t\t\t\t-\tback\t\n")
 40 
 41     def empty_line(sef):
 42         print(f"\n")
 43 
 44     def say(self):
 45         print(f"\t{self.no}\t{self.id}\t\t{self.f[0]}\t{self.f[1]}\t{self.f[2]}\t{self.f[3]}\t{self.f[4]}\t-\t{self.b[0]}\t{self.b[1]}")
 46 
 47 
 48 
 49 
 50 """
 51 dlt = dlt_data()
 52 dlt.set(1, 2023001, [18, 19, 24, 27, 34], [11, 12])
 53 dlt.title()
 54 dlt.say()
 55 """
 56 
 57 
 58 
 59 
 60 # display result for testing
 61 
 62 
 63 """
 64 dlt = []
 65 
 66 
 67 for i in [0,1,2,3,4]:
 68     dlt.append(dlt_data())
 69 i = 0
 70 
 71 
 72 c = 0
 73 for d in dlt:
 74     d.set(c, 2023001+c, [1,12,23,34,35], [1,4])
 75     c = c + 1
 76 c = 0
 77 
 78 
 79 dlt[0].title()
 80 for x in dlt:
 81     x.say()
 82 dlt[0].empty_line()
 83 """
 84 
 85 
 86 
 87 
 88 # define funtion
 89 def speak():
 90 
 91 
 92     # dlt[][]; dlt = [[list],[list], ...] 
 93     dlt = []
 94 
 95 
 96     for i in [0,1,2,3,4]:
 97         dlt.append(dlt_data())
 98     i = 0
 99 
100 
101     c = 0
102     for d in dlt:
103         d.set(c, 2023001+c, [1,12,23,34,35], [1,4])
104         c = c + 1
105     c = 0
106 
107 
108     dlt[0].title()
109     for x in dlt:
110         x.say()
111     dlt[0].empty_line()
112 
113 
114 
115 
116 # define funtion
117 def speak2():
118 
119 
120     # dlt[][]; dlt = [[list],[list], ...] 
121     dlt = []
122 
123     scope = 30
124     for i in range(scope):
125         x = dlt_data()
126         x.set(i, 2022001+i, [2, 4, 7, 14, 31], [3, 9])
127         dlt.append(x)
128     i = 0
129 
130 
131     
132     dlt[0].title()
133     for x in dlt:
134         x.say()
135     x = []
136     dlt[0].empty_line()
137     
138 
139 
140 
141 # define function
142 def speak3():
143 
144 
145     # dlt[][]; dlt = [[list],[list], ...] 
146     dlt = []
147 
148     scope = 5
149     for i in range(scope):
150         x = dlt_data()
151         uf = [ m+i for m in [1,7,8,12,31]]
152         ub = [ n+i for n in [1,8]]
153         x.set(i, 2022001+i, uf, ub)
154         dlt.append(x)
155     i = 0
156 
157 
158     """
159     dlt[0].title()
160     for x in dlt:
161         x.say()
162     x = []
163     dlt[0].empty_line()
164     """
165 
166 
167     # dlt[][]; dlt = [[list],[list], ...] 
168     return dlt
169 
170 
171 
172 
173 # define  output
174 # list_dlt[][]; list_dlt = [[list],[list], ...] 
175 def output(list_dlt):
176     print(f"\n-- output: start --")
177     for l in list_dlt:
178         print(f"{l.no}\t{l.id}\t{l.f[0]}\t{l.f[1]}\t{l.f[2]}\t{l.f[3]}\t{l.f[4]}\t-\t{l.b[0]}\t{l.b[1]}")
179     print(f"-- output: end --\n")
180 
181 
182 
183 
184 # define output2
185 # list_dlt[][]; list_dlt = [[list],[list], ...] 
186 def output2(pl):
187 
188 
189     s1 = " "
190     s2 = "  "
191     
192     print(f"\n-- output: start --")
193     for x in pl:
194 
195         f1 = x.f[0] - 1
196         f2 = x.f[1] - x.f[0]
197         f3 = x.f[2] - x.f[1]
198         f4 = x.f[3] - x.f[2]
199         f5 = x.f[4] - x.f[3]
200         f6 = 35 - x.f[4]
201 
202         sp = "    -    "
203 
204         b1 = x.b[0] - 1
205         b2 = x.b[1] - x.b[0]
206         b3 = 12 - x.b[1]
207 
208 
209         if x.f[0] < 10 :
210             sf1 = s2*f1 + s1
211         else:
212             sf1 = s2*f1
213 
214         if x.f[1] < 10 :
215             sf2 = s2*f2 + s1
216         else:
217             sf2 = s2*f2
218 
219         if x.f[2] < 10 :
220             sf3 = s2*f3 + s1
221         else:
222             sf3 = s2*f3
223 
224         if x.f[3] < 10 :
225             sf4 = s2*f4 + s1
226         else:
227             sf4 = s2*f4
228 
229         if x.f[4] < 10 :
230             sf5 = s2*f5 + s1
231         else:
232             sf5 = s2*f5
233 
234         sf6 = s2*f6
235 
236         if x.b[0] < 10 :
237             sb1 = s2*b1 + s1
238         else:
239             sb1 = s2*b1
240 
241         if x.b[1] < 10 :
242             sb2 = s2*b2 + s1
243         else:
244             sb2 = s2*b2
245 
246         sb3 = s2*b3
247 
248 
249         #print(f"\t{x.no}\t{x.id}\t{sf1}{x.f[0]}{sf2}{x.f[1]}{sf3}{x.f[2]}{sf4}{x.f[3]}{sf5}{x.f[4]}{sf6}{sp}{sb1}{x.b[0]}{sb2}{x.b[1]}{sb3}")
250         print(f"\t{x.no}\t{x.id}\t{sf1}{x.f[0]}{sf2}{x.f[1]}{sf3}{x.f[2]}{sf4}{x.f[3]}{sf5}{x.f[4]}{sf6}{sp}{sb1}{x.b[0]}{sb2}{x.b[1]}{sb3}")
251 
252 
253     print(f"-- output: end --\n")
254 
255 
256     """
257     print(f"\n-- output: start --")
258     for l in pl:
259         print(f"\t{l.no}\t{l.id}\t{s*f1}{l.f[0]}{s*f2}{l.f[1]}{s*f3}{l.f[2]}{s*f4}{l.f[3]}{s*f5}{l.f[4]}{s*f6}{sp}{s*b1}{l.b[0]}{s*b2}{l.b[1]}{s*b3}")
260     print(f"-- output: end --\n")
261     """
262 
263 
264 
265 
266 
267 
268 
269 
270 # test part
271 if  __name__ == "__main__":
272     #speak()
273     #speak2()
274     dlt_list = speak3()
275     output2(dlt_list)
276 [wit@fedora null]$ 
277 [wit@fedora null]$ 

 

 

 

 

二、运行结果

 1 [wit@fedora null]$ ./test.py 
 2 
 3 -- output: start --
 4         0       2022001  1             7   8        12                                      31            -     1               8        
 5         1       2022002    2             8   9        13                                      32          -       2               9      
 6         2       2022003      3             9  10        14                                      33        -         3              10    
 7         3       2022004        4            10  11        15                                      34      -           4              11  
 8         4       2022005          5            11  12        16                                      35    -             5              12
 9 -- output: end --
10 
11 [wit@fedora null]$ 
12 [wit@fedora null]$ 

 

 

 

 

三、参考资料

 

  1、python3: dlt - 数据结构   https://www.cnblogs.com/lnlidawei/p/17825107.html

 

标签:--,s2,self,list,dlt,print,数据结构,python3
From: https://www.cnblogs.com/lnlidawei/p/17825486.html

相关文章

  • python3: dlt - 数据结构
    python3:dlt-数据结构    一、程序:1[wit@fedoranull]$cattest.py2#!/usr/bin/envpython334567#testthisscript8defmsg():9print("\nhello,python3!\n")101112#runningmsg()13#msg()1415......
  • 什么是数据结构里的 Merkle 树
    Merkle树,也被称为"hashtree",是一种二叉树的数据结构。这种树的每个节点都是基于其子节点的一种特殊形式的hash。具体来说,叶节点的hash是由存储在那里的数据块(例如文件或文件的部分)生成的,而非叶节点的hash是由其子节点的hash生成的。如果Merkle树只有一个节点(也就是根节......
  • 数据结构之线性表
    线性表之顺序存储:1sqlist.h2#ifndef_SQLIST_H3#define_SQLIST_H45#defineMAX_SIZE66typedefstruct7{8intdata[MAX_SIZE];9intlast;10}sqlist,*sqlink;1112voidcreatList(sqlinkL);//建空表13intgetLength......
  • 数据结构-队列
    一、概念1、队列的定义队列是仅限在一端进行插入,另一端进行删除的线性表。队列又被称为先进先出(FirstInFirstOut)的线性表,简称FIFO。2、队首允许进行元素删除的一端称为队首3、队尾允许进行元素插入的一端称为队尾二、接口1、可写接口(1)数据入队队列的插入操作,叫做入队。它是......
  • 数据结构入门 — 顺序表详解
    前言数据结构入门—顺序表详解关注博主,后期持续更新系列文章文章末尾有源码*****感谢观看,希望对你有所帮助*****文章目录前言一、顺序表1.顺序表是什么2.优缺点二、概念及结构1.静态顺序表2.动态顺序表三、顺序表接口实现(代码演示)1.动态存储结构2.顺序表打印3.顺序表初......
  • 数据结构入门 — 链表详解_双向链表
    前言数据结构入门—双向链表详解*关注博主,后期持续更新系列文章文章末尾有源码*****感谢观看,希望对你有所帮助*****系列文章第一篇:数据结构入门—链表详解_单链表第二篇:数据结构入门—链表详解_双向链表第三篇:数据结构入门—链表详解_循环链表文章目录前言系列文章什......
  • 自己写数据结构
    #include<iostream>#include<array>template<typenameT,size_tS>classArray{private: Tm_data[S];public: constexprintSize()const{ returnS; } T&operator[](intindex){returnm_data[index];} constT&operator[](in......
  • 高级数据结构学习笔记
    0.普适技巧动态开点:节省空间。标记永久化:分块的块标记本质就是这个。可以节省空间。1.区间最值&历史区间最值link2.二维线段树二维区间静态:二维ST表二维前缀动态:二维树状数组二维区间动态:二维线段树例题:LuckandLove、P3157[CQOI2011]动态逆序......
  • 数据结构的两个层次
    逻辑结构:描述数据元素之间的逻辑关系与数据的存储无关,独立于计算机是从具体问题抽象出来的数学模型 2.物理结构(存储结构)数据元素及其关系在计算机存储器中的结构(存储方式)是数据结构在计算机的表示 关系:存储结构是逻辑关系的映象与元素本身的映象逻辑......
  • 考研_数据结构
    绪论1.算法原地工作是指辅助空间不随着数据规模的增大而增大,不是说不需要辅助空间2.栈和队列属于逻辑结构而非存储结构,它们的实现才属于存储结构3.数据元素是数据的基本单位,数据项是数据的最小单位4.程序需要算法和数据结构结合在一起才能实现,仅仅把算法用某种计算机语言来描述......