上下文关键字

共享数据的主程序/子程序风格:

1、体系结构图:

  

2、简述体系结构各部件的主要功能,实现思想。

  输入:从文件读入文章,按行存入集合。

  循环移动:访问行集合,循环移动后更新集合。

  排序:访问行集合,排序后更新集合。

  输出:以输出流形式输出行集合。

3、写出主要的代码

lineList = []

def input():
    fr = open(r"D:\Desktop\KWIC\inputText.txt")
    print(‘-----Input-----‘)
    for line in fr.readlines():
        line = line.strip(‘\n‘)
        print(line)
        lineList.append(line)

def circshift():
    for line in lineList:
        charList = line.split()
        for i in range(len(charList)):
            charList = charList[1:] + charList[:1]
            newLine = ‘ ‘.join(charList)
            if newLine not in lineList:
                lineList.append(newLine)

def sort():
    lineList.sort()

def output():
    print(‘-----Output-----‘)
    for line in lineList:
        print(line)

if __name__ == ‘__main__‘:
    input()
    circshift()
    sort()
    output()

4、显示结果:

管道-过滤器风格:

1、体系结构图:

2、简述体系结构各部件的主要功能,实现思想。

  输入:输入文件,输入行列表。

  循环移动:输入行列表,输出循环移动后的扩展列表。

  排序:输入列表,有序输出原列表。

  输出:输入列表,以输出流形式输出。

3、写出主要的代码

def input(fileName):
    fr = open(fileName)
    lineList = []
    print(‘-----Input-----‘)
    for line in fr.readlines():
        line = line.strip(‘\n‘)
        print(line)
        lineList.append(line)
    return lineList

def circshift(lineList):
    for line in lineList:
        charList = line.split()
        for i in range(len(charList)):
            charList = charList[1:] + charList[:1]
            newLine = ‘ ‘.join(charList)
            if newLine not in lineList:
                lineList.append(newLine)
    return lineList

def sort(lineList):
    return sorted(lineList)

def output(lineList):
    print(‘-----Output-----‘)
    for line in lineList:
        print(line)

if __name__ == ‘__main__‘:
    fileName = r"D:\Desktop\KWIC\inputText.txt"
    lineList = input(fileName)
    extendedList = circshift(lineList)
    sortedList = sort(extendedList)
    output(sortedList)

4、显示结果:

实验总结

 没遇到什么问题,因为Python很好用。

 人生苦短,我用Python。

时间: 2024-10-18 04:53:02

上下文关键字的相关文章

“上下文关键字”KWIC(Key Word in Context,文本中的关键字)检索系统尝试

一.实验目的 1.理解不同体系结构风格的具体内涵. 2.学习体系结构风格的具体实践. 二.实验环境 硬件: (依据具体情况填写) 软件:Java或任何一种自己熟悉的语言 三.实验内容 "上下文关键字"KWIC(Key Word in Context,文本中的关键字)检索系统接受有序的行集合:每一行是单词的有序集合:每一个单词又是字母的有序集合.通过重复地删除航中第一个单词,并把它插入行尾,每一行可以被"循环地移动".KWIC检索系统以字母表的顺序输出一个所有行循环移

c#关键字和常用类型表快查

类型 字节 取值范围 说明 bool 1 true/false/null 布尔类型 char 2 0x0000~0xffff Unicode 16 位字符 byte 1 0~255 无符号的 8 位整数 sbyte 1 -128 到 127 8 位带符号整数 short 2 -32,768 到 32,767 有符号 16 位整数 ushort 2 0~65535 无符号 16 位整数 int 4 -2,147,483,648 到 2,147,483,647 带符号的 32 位整数 uint 4

C#里partial关键字的作用(转摘)

C#里partial关键字的作用(转摘) 1. 什么是局部类型? C# 2.0 引入了局部类型的概念.局部类型允许我们将一个类.结构或接口分成几个部分,分别实现在几个不同的.cs文件中. 局部类型适用于以下情况: (1) 类型特别大,不宜放在一个文件中实现.(2) 一个类型中的一部分代码为自动化工具生成的代码,不宜与我们自己编写的代码混合在一起.(3) 需要多人合作编写一个类. 局部类型是一个纯语言层的编译处理,不影响任何执行机制——事实上C#编译器在编译的时候仍会将各个部分的局部类型合并成一个

C#里partial关键字的作用

1. 什么是局部类型?C# 2.0 引入了局部类型的概念.局部类型允许我们将一个类.结构或接口分成几个部分,分别实现在几个不同的.cs文件中.局部类型适用于以下情况: (1) 类型特别大,不宜放在一个文件中实现.(2) 一个类型中的一部分代码为自动化工具生成的代码,不宜与我们自己编写的代码混合在一起.(3) 需要多人合作编写一个类. 局部类型是一个纯语言层的编译处理,不影响任何执行机制--事实上C#编译器在编译的时候仍会将各个部分的局部类型合并成一个完整的类. public partial cl

C# 关键字 Visual Studio 2012

C# 关键字 Visual Studio 2012 其他版本 关键字是对编译器具有特殊意义的预定义保留标识符. 它们不能在程序中用作标识符,除非它们有一个 @ 前缀. 例如,@if 是有效的标识符,但 if 不是,因为 if 是关键字. 本主题中的第一个表列出的关键字在 C# 程序的任何部分都是保留标识符. 本主题中的第二个表列出了 C# 中的上下文关键字. 上下文关键字仅在受限制的程序上下文中具有特殊含义,并且可在该上下文外部用作标识符. 通常,在将新关键字添加到 C# 语言的同时,也会将它们

2.3 关键字

关键字是用来定义C#语言的字符串几号. 关于关键字,一些应该知道的重要内容如下. ·关键字不能被用作变量名或任何其他形式的标识符,除非以@字符开始. ·所有C#关键字都由小写字母组成(但是.NET类型名使用Pascal大小约定). 上下文关键字是仅在特定的语言结构中充当关键字的标识符.在那些位置,它们有特别的含义.两者的区别是,关键字不能被用作标识符,而上写文关键字可以在代码的其他部分被用做标识符.

c#中Partial关键字的作用

1. 什么是局部类型? C# 2.0 引入了局部类型的概念.局部类型允许我们将一个类.结构或接口分成几个部分,分别实现在几个不同的.cs文件中. 局部类型适用于以下情况: (1) 类型特别大,不宜放在一个文件中实现.(2) 一个类型中的一部分代码为自动化工具生成的代码,不宜与我们自己编写的代码混合在一起.(3) 需要多人合作编写一个类. 局部类型是一个纯语言层的编译处理,不影响任何执行机制——事实上C#编译器在编译的时候仍会将各个部分的局部类型合并成一个完整的类. public partial

knockoutJS学习笔记07:绑定上下文

所谓绑定上下文就是当前绑定(dat-bind)所使用到的对象(ViewModel).在单个对象绑定的情况下是很容易理解的,但对象可能是复杂的类型,嵌套很多层,这个时候每层都有自己的上下文对象,理解起来就不是很方便了.ko通过上下文关键字,让层次间的关系变得更加清晰,相互访问变得更加简单. 一.$data 与 $index 上一篇介绍了ObservableArray和template,通常我们通过对象属性进行绑定,例如:data-bind="text:属性名称":但如果数组只是简单格式呢

c#中的关键字

c#中的关键字 关键字是对编译器具有特殊意义的预定义保留标识符.它们不能在程序中用作标识符,除非它们有一个 @ 前缀.例如,@if 是有效的标识符,但 if 不是,因为 if 是关键字. 下面是列出的所有的关键字在 C# 程序的任何部分都是保留标识符: abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum