python基础知识——控制语句

python基础知识——控制语句

控制语句主要有条件语句和循环语句。

一、条件语句

1、if语句

格式

if 表达式:
      语句1
else:
      语句2


如下面的例子:

a = raw_input('x : ')

if int(a) > 0:
      print a
else:
      print -int(a)


其中, raw_input() 用于获取控制台的输入,由于raw_input()返回的是字符串,则在比较的时候必须使用int()转换,若是不想转换,可以直接使用函数input()。

2、多个if语句

格式

if 表达式1:
      语句1
elif 表达式2:
      语句2
...
elif 表达式n:
      语句n
else:
      语句m


例如:

# -*- coding: UTF-8 -*-
a = input('x : ')

if a > 0:#a为正数直接输出
      print a
elif a == 0:#a为0
      print 0
else:
      print -a


3、 while 循环

格式

while 表达式:
      ...


例如:

a = 10

while a > 0:
      print a
      a -= 1


输出:

10
9
8
7
6
5
4
3
2
1

4、for循环

格式

for 变量 in 集合:
      ...


其中,集合可以是元组、列表、字典等数据结构。

例如:

for x in xrange(1, 11):
      print x


输出结果是1~10

5、break语句

break语句用于结束循环。

例如:

for x in xrange(1, 11):
      if x <= 5:
            print x
      else:
            break


只输出了1~5。

6、continue语句

continue语句用于结束本次循环,开始下次循环。

例如:

for x in xrange(1, 11):
      if x == 5:
            continue
      else:
            print x


输出的是1~4,6~10。没有输出5

7、pass语句

pass语句在python中是一个空语句。

for ind in 'python':
    if ind == 'h':
        pass
    else:
        print ind


输出结果:

p
y
t
o
n



Read more

科普文:NLP自然语言处理系列之【NLP文本相似度】

科普文:NLP自然语言处理系列之【NLP文本相似度】

前言 在自然语言处理过程中,经常会涉及到如何度量两个文本之间的相似性,我们都知道文本是一种高维的语义空间,如何对其进行抽象分解,从而能够站在数学角度去量化其相似性。 而有了文本之间相似性的度量方式,我们便可以利用划分法的K-means、基于密度的DBSCAN或者是基于模型的概率方法进行文本之间的聚类分析;另一方面,我们也可以利用文本之间的相似性对大规模语料进行去重预处理,或者找寻某一实体名称的相关名称(模糊匹配)。 而衡量两个字符串的相似性有很多种方法,如最直接的利用hashcode,以及经典的主题模型或者利用词向量将文本抽象为向量表示,再通过特征向量之间的欧式距离或者皮尔森距离进行度量。 本文围绕文本相似性度量的主题,从最直接的字面距离的度量到语义主题层面的度量进行整理总结,并将平时项目中用到的文本相似性代码进行了整理,如有任何纰漏还请指出,我会第一时间改正。 字面距离 提到如何比较两个字符串,我们从最初编程开始就知道:字符串有字符构成,只要比较比较两个字符串中每一个字符是否相等便知道两个字符串是否相等,或者更简单一点将每一个字符串通过哈希函数映射为一个哈希值,然后进行

By Ne0inhk
计算机毕业设计项目之https://zeeklog.com小程序ssm社区心理健康服务平台+后台管理系统|前后分离

计算机毕业设计项目之https://zeeklog.com小程序ssm社区心理健康服务平台+后台管理系统|前后分离

一、项目介绍 本系统包含微信小程序前台和Java做的后台管理系统,该后台采用前后台前后分离的形式使用Java+VUE 微信小程序——前台涉及技术:WXML 和 WXSS、JavaScript、uniapp Java——后台涉及技术: 前端使用技术:JSP,HTML5,CSS3、JavaScript、VUE等 后端使用技术:Spring、SpringMvc、Mybatis(SSM)等 数据库:Mysql数据库 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序运行软件:微信开发者 系统主要分为管理员和用户、咨询师三部分, 管理员服务端:首页、个人中心、用户管理、咨询师管理、心理书籍管理、相关资源管理、试卷管理、试题管理、系统管理、订单管理, 咨询师客户端:首页、

By Ne0inhk
科普文:NLP自然语言处理系列之【BERT解析及文本分类应用 】

科普文:NLP自然语言处理系列之【BERT解析及文本分类应用 】

前言 在18年末时,NLP各大公众号、新闻媒体都被BERT(《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》)刷屏了,刷新了自然语言处理11项纪录,也被称为了2018年最强自然语言处理模型。 笔者很早便完整看了这篇论文,迟迟没有动手,一方面是因为自己懒,各种事情耽搁了,另一方面还是想通过在具体的任务中进行了确切的实践后再与大家分享交流。废话不多说,下面我们进入正题,2018最强自然语言处理模型BERT(注意修饰语2018,因为最近冒出来的OpenAI的研究人员训练的超大规模15亿参数模型已经进一步打破了记录,并开源了一个117M的小模型和代码: BERT模型概览 了解BERT模型我们需要先回顾谷歌在早前发表的一些观点和paper,我们首先来简单回顾下seq2seq,之后说说attention引出的transformer模型,最后看看BERT模型的细节以及创新点。 Seq2Seq 关于Seq2Seq的模型抽象,笔者之前在浅谈分词算法系列博文中也有反复提及()

By Ne0inhk
科普文:NLP自然语言处理系列之【NLP分词中基于词典的分词方法 】

科普文:NLP自然语言处理系列之【NLP分词中基于词典的分词方法 】

我们探讨了分词中的基本问题,也提到了基于词典的分词方法。 基于词典的分词方法是一种比较传统的方式,这类分词方法有很多,如:正向最大匹配(forward maximum matching method, FMM)、逆向最大匹配(backward maximum matching method,BMM)、双向扫描法、逐词遍历法、N-最短路径方法以及基于词的n-gram语法模型的分词方法等等。 对于这类方法,词典的整理选择在其中占到了很重要的作用,本文主要介绍下基于n-gram的分词方法,这类方法在平时的分词工具中比较常见,而且性能也较好。 基本原理 贝叶斯公式 提到基于N-Gram的概率分词方法,首先我们就要说下伟大的贝叶斯理论,说到贝叶斯理论,先说贝叶斯公式: 贝叶斯公式也是概率论当中的基础,这里我们不再赘述,推荐一篇文章,讲的很不错。下面我们主要关注下在分词当中怎么利用贝叶斯原理。 分词中的贝叶斯 我们知道通常P(Y)是一个常数,所以在使用贝叶斯公式的时候我们更多用如下的公式: 当贝叶斯理论应用在离散数据集上的时候,可以使用频率作为概率来进行计算,在分词

By Ne0inhk