字符串解析实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信息内容安全实验报告

二零二零年

实验一:字符串解析实验

要求:

编写一个windows窗口程序,

输入:一个串x;

输出:点击按钮后输出

1. x的所有前缀,x所有前缀的个数;

2. x的所有后缀,x所有后缀的个数;

3. x除前缀和后缀之外的所有子串,x除前缀和后缀之外的所有子串的个数。

编程语言不限。

实验结果:

实验源代码:

import tkinter as tk

from tkinter import *

root=()

root.title('实验一')

root.geometry("300x200+100+50") def b1():

str1=entry1.get()

s1=list(str1)

x=len(str1)

str2=[]

for i in range(x+1):

str3="".join(s1[0:i])

str4=str3

str2.append(str3)

st1=str2

st1=list(map(str,st1))

a=str(len(str2))

st11=str("前缀个数为:"+a)

text1.insert(tk.INSERT,'\n')

p1="1、"

text1.insert(tk.INSERT,p1)

text1.insert(tk.INSERT,'\n')

text1.insert(tk.INSERT,st11)

text1.insert(tk.INSERT,'\n')

text1.insert(tk.INSERT,st1)

str5=str1[::-1]

s12=list(str5)

x2=len(str5)

str22=[]

for i in range(x2+1):

str32="".join(s12[0:i])

str42=str32

str32=str32[::-1]

str22.append(str32)

st2=str22

st2=list(map(str,st2))

a=str(len(str22))

st22=str("后缀个数为:"+a)

text1.insert(tk.INSERT,'\n')

p2="2、"

text1.insert(tk.INSERT,p2)

text1.insert(tk.INSERT,'\n')

text1.insert(tk.INSERT,st22)

text1.insert(tk.INSERT,'\n')

text1.insert(tk.INSERT,st2)

s1=list(str1)

x=len(str1)

str2=[]

for i in range(x+1):

for j in range(x+1):

str3="".join(s1[i:j])

str2.append(str3)

str2=list(set(str2))

st3=str2

for i in range(len(st1)):

for j in st1:

if j in st3:

st3.remove(j)

for i in range(len(st2)):

for j in st2:

if j in st3:

st3.remove(j)

a=str(len(st3))

st33=str("除前缀后缀子串个数为:"+a)

text1.insert(tk.INSERT,'\n')

p3="3、"

text1.insert(tk.INSERT,p3)

text1.insert(tk.INSERT,'\n')

text1.insert(tk.INSERT,st33)

text1.insert(tk.INSERT,'\n')

text1.insert(tk.INSERT,st3)

label1=bel(root,text='串x:')

label1.grid(row=2,column=1)

entry1=tk.Entry(root)

entry1.grid(row=2,column=3)

t1=""

text1=tk.Text(root,width=32,height=30)

text1.grid(row=4,column=3)

text1.insert(tk.INSERT,t1)

button1=tk.Button(root,text="解析",command=b1)

button1.grid(row=2,column=8)

root.mainloop()

总结:通过此次实验,对字符串解析有了跟深层次的理解。

相关文档
最新文档