`

plural1.py源代码分析

阅读更多
<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>

"""Pluralize English nouns (stage 1)

This program is part of "Dive Into Python", a free Python book for

experienced programmers. Visit http://diveintopython.org/ for the

latest version.

Command line usage:

$ python plural1.py noun

nouns

"""

__author__ = "Mark Pilgrim (mark@diveintopython.org)"

__version__ = "$Revision: 1.3 $"

__date__ = "$Date: 2004/03/18 16:43:37 $"

__copyright__ = "Copyright (c) 2004 Mark Pilgrim"

__license__ = "Python"

import re

def plural(noun):

if re.search('[sxz]$', noun):

return re.sub('$', 'es', noun)

#如果以s、x、z中的任意一个结尾,则直接在末尾加es变为复数

elif re.search('[^aeioudgkprt]h$', noun):

return re.sub('$', 'es', noun)

#如果以除aeioudgkprt中的任意一个字母和h结尾,则也加es变为复数

elif re.search('[^aeiou]y$', noun):

return re.sub('y$', 'ies', noun)

#如果以除aeiou中的任意一个字母和y结尾,则将结尾的y去掉,然后加ies变为复数

else:

return noun + 's'

#其他的所有情况都是在单词末尾加s变为复数

if __name__ == '__main__':

import sys

#导入sys模块

if sys.argv[1:]:

print plural(sys.argv[1])

打印第一个参数的复数形式

else:

print __doc__

分享到:
评论

相关推荐

    Django 模型类(models.py)的定义详解

    ### Django 模型类(models.py)的定义详解 在Django框架中,`models.py`文件扮演着极其重要的角色,它定义了应用的数据结构。本文将深入探讨如何定义Django模型类,包括基本概念、常见字段类型、字段选项以及如何...

    dive into python

    1.7. 从源代码安装 Python 1.8. 使用 Python 的交互 Shell 1.9. 小结 2. 第一个 Python 程序 2.1. 概览 2.2. 函数声明 2.2.1. Python 和其他编程语言数据类型的比较 2.3. 文档化函数 2.4. 万物皆对象 2.4.1. ...

    django 总结资料

    - `python manage.py inspectdb`:检查数据库表结构并生成相应的Django模型代码。 - `python manage.py loaddata`:加载之前使用dumpdata导出的数据。 - `python manage.py makemessages`:创建翻译消息文件。 -...

    django创建新闻文章的操作步骤.doc

    1. **编辑`article/models.py`文件:** - 定义了两个模型类:`Category` 和 `Article`。 - `Category` 类包含了新闻类别的名称,而 `Article` 类则包含了新闻文章的标题、作者、正文以及发布时间等字段。 - 示例...

    diveintopython-examples-5.4

    1. **plural-rules.en**:这可能是一个处理英语复数规则的模块。在Python中,处理不同语言的复数形式是文本处理的一个常见任务,它可能展示了如何使用正则表达式或者特定的规则来生成正确的复数形式。 2. **...

    C语言编写短路电流计算的程序.doc

    1. 函数 PluralMul(Plural plural1, Plural plural2):用于计算两个复数的乘积。 2. 函数 PluralDiv(float num, Plural den):用于计算浮点数除以复数的结果。 3. 函数 PluralDiv(Plural plu):用于计算复数的倒数。...

    Django如何批量创建Model

    在上述代码中,`Category`模型包含一个唯一名称的CharField,而`Page`模型包含对`Category`的外键引用、一个标题、一个URL字段和一个默认为0的视图计数器。 为了批量创建这些模型的实例,我们可以编写一个Python...

    plural4j:Java中的复数单词形式

    plural4j-是一个Java实用程序,用于生成多个单词形式。 [ ]( ) 玛文 &lt; groupId&gt;com.github.plural4j&lt;/ groupId&gt; &lt; artifactId&gt;plural4j &lt; version&gt;1.0.0 建造 mvn -DskipTests=true clean package install ...

    Django 设置admin后台表和App(应用)为中文名的操作方法

    1.设置Models.py文件 class Post(models.Model): name = models.CharField() ……省略其他字段信息 class Meta: verbose_name = 文章 # 单数形式显示的字段 verbose_name_plural = verbose_name # 复数形式...

    Django框架配置mysql数据库实现过程

    接下来,为了使Django能够识别pymysql,你需要在项目主目录下的`__init__.py`文件中添加以下代码,将pymysql作为MySQLdb的替代: ```python import pymysql pymysql.install_as_MySQLdb() ``` 完成这些配置后,你...

    ADT.rar_ADT Plural_复数_复数 ADT

    在这个实例中,"ADT.rar_ADT Plural_复数_复数 ADT" 指的是一个关于复数的ADT实现,它涉及到复数的表示、输出和基本的数学运算。 复数是由实部和虚部组成的数学对象,通常表示为 \(a + bi\) 形式,其中 \(a\) 是...

    inflect:正确生成复数,序数,不定冠词; 将数字转换为单词

    inflect.py-正确生成复数,单数名词,序数,不定冠词; 将数字转换为单词。 概要 import inflect p = inflect . engine () # METHODS: # plural plural_noun plural_verb plural_adj singular_noun no num # compare...

    gettext-0.21.1.tar.gz

    在"gettext-0.21.1.tar.gz"这个压缩包中,包含了这一版本的源代码和其他相关文件,可供开发者进行编译和安装。 1. **消息提取**:Gettext 的 msgfmt 工具可以扫描源代码,找出可翻译的字符串,将其存储在名为 .pot ...

    Django用户登录与注册系统的实现示例

    verbose_name_plural = '用户' ``` 这里,`Meta`类用于设置模型的元数据,例如排序规则和显示名称。`GENDER_CHOICES`定义了性别选项。`unique=True`确保了用户名和邮箱的唯一性。 2. 设置数据库为MySQL 在`...

    SGA_GA_matlab_plural5dd_

    3. **`SGA.m`文件分析**:这个文件很可能是遗传算法的主要实现代码。它可能包含了上述所有步骤的MATLAB脚本,包括定义问题、设置参数、初始化种群、循环执行遗传操作(选择、交叉、变异)并更新种群,直到满足停止...

    无刷 霍尔 pid 例程_plural4uu_stockxog_电机’_无刷直流闭环_无刷无感直流电机闭环控制_源码.zip

    在这款名为“无刷霍尔pid例程_plural4uu_stockxog_电机_无刷直流闭环_无刷无感直流电机闭环控制_源码.zip”的压缩包中,我们看到的是关于BLDC电机闭环控制的程序代码。这个例程涉及到的核心技术包括霍尔传感器、PID...

    django站点管理详解

    对于更复杂的自定义,可以在模型类中添加元数据,例如设置字段的可空性(`blank=True`),或者通过`verbose_name`和`verbose_name_plural`属性来改变字段和模型在admin中的显示名称。此外,还可以定义`ModelAdmin`类...

    无刷 霍尔 pid 例程_plural4uu_stockxog_电机’_无刷直流闭环_无刷无感直流电机闭环控制.zip

    在这个压缩包中,"无刷 霍尔 pid 例程_plural4uu_stockxog_电机’_无刷直流闭环_无刷无感直流电机闭环控制_源码.zip"包含了实现这一控制策略的源代码,我们可以深入探讨这些技术细节。 首先,无刷直流电机(BLDC)...

    harmonyos2-Turkish-Suffix-Library:土耳其语后缀库

    土耳其语.py Python 的土耳其语后缀库 安装 pip install turkish-suffix-library 使用 名词 from turkish_suffix_library.turkish import Turkish print(Turkish('araba').dative()) print(Turkish('sebep')....

Global site tag (gtag.js) - Google Analytics