出乎意料的else语句

在python中你可能时不时不碰到else语句用在while和for循环中,请不要吃惊,先看看它的作用吧!

实际上在循环语句中,else子句仅仅会在循环完毕后运行。即跳出循环的操作。如break,同一时候也会跳过

else块。

以下是一个来自python核心编程的样例

def showMaxFactor(num):
    count = num/2
    while count > 1:
        if num%count == 0:
            print ‘largest factor of %d is %d‘ % (num,count)
            break
        count -= 1
    else:
        print num, "is prime"

for eachNum in range(10,21):
    showMaxFactor(eachNum)
时间: 2024-08-14 08:01:01

出乎意料的else语句的相关文章

2014年小结之sql语句优化

之前接手一个数据统计处理的小程序,本来逻辑上并没什么,只是数据量略大,某些表的数据达到了千万级别..因为是统计,所以免不了各种连接各种查询,结果这个小程序写完后运行一次要1个小时..这的确有点出乎意料,所以着手优化一下.. 1.添加索引 平时不注意或是数据量比较小的时候可能会忽略这个,加或是不加基本没差别,但是当数据量很大的时候差别就非常明显,没有索引的情况下,在1万条以内和10万条以上的数据中查询所用的时间差别已经能分辨出了.这里有2点需要特别注意: 1)默认情况下我们创建表,数据库会自动给我

数据处理之求和语句,retain语句

先看下面的一个例子: DATA A; INPUT X Y @@; S+X; DATALINES; 3 5 7 9 20 21 PROC PRINT; RUN; 衍生的新变量s为与x变量的求和,我们看结果 Obs X Y S 1 3 5 3 2 7 9 10 3 20 21 30 上面的S+X语句看上去怪怪的,能不能换成S=S+X:这样比较符合我们的变成习惯.那么将S+X:替换为S=S+X:后我们看结果: Obs X Y S 1 3 5 . 2 7 9 . 3 20 21 . 结果出乎意料,这里的

详细分析SQL语句逻辑执行过程和相关语法

本文目录: 1.SQL语句的逻辑处理顺序 1.2 各数据库系统的语句逻辑处理顺序 1.2.1 SQL Server和Oracle的逻辑执行顺序 1.2.2 MariaDB的逻辑执行顺序 1.2.3 MySQL的逻辑执行顺序 1.3 关于表表达式和虚拟表 1.4 关于表别名和列别名 1.5 关于数据无序性和ORDER BY 1.6 关于TOP(或LIMIT)和ORDER BY 1.7 关于DISTINCT和GROUP BY 1.8 关于DISTINCT和ORDER BY 1.9 关于标准SQL的G

python基础之条件循环语句

前两篇说的是数据类型和数据运算,本篇来讲讲条件语句和循环语句. 0x00. 条件语句 条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python interprets non-zero values as True. None and 0 are interpreted as False. Python 判断非0的值为 True, 而None和0被认为是 False.注意这里的True和False首字母大写,Py

js中哪些语句在if语句中默认为真

结论:js中有一个函数是:Boolean(value)这个函数把一个value值转换成相应的boolean值. 当value为以下值是为true:1.任意的非空字符串 .2.任意的非0数字 而当value为以下值为false:1.空的字符串即("").2.0和NaN(Not a Number) .3.undefined 在if语句中写入上面的value,浏览器会自动调用Boolean(value)这个函数. 例如:if ("hello world"){ alert(

python学习笔记二:if语句及循环语句,断点,模块,pyc

if语句 注意:语句块中的内容要强制缩进,否则出错.IndentationError,缩进错误 所有代码,如果是顶级的,必须顶格写,前面不能有空格 if - : - elif - : - else: - while语句 while -: - else: - for语句 for i in range(10)--i默认0,步长默认1,最大为9 for i in range (0,2,10)--从0开始,步长为2,最大为8 for  i   in range(-): - else: - break--

17-4 delete-truncate语句-练习

--删除数据语句: --delete from 表名 where ... --delete语句如果不加where条件,表示将表中所有的数据都删除,加where条件后,会按照where条件进行删除. --删除TblStudent表中的所有数据, --自动编号并没有恢复到默认,仍然继续编号 delete from TblStudent --删除所有性别为'女',同时年龄小于20岁的 delete from TblStudent where tSGender='女' and tSAge<20 --删除

选择结构if语句和switch语句的区别

1.选择结构if语句格式及其使用 A:if语句的格式: if(比较表达式1) { 语句体1; }else if(比较表达式2) { 语句体2; }else if(比较表达式3) { 语句体3; } ... else { 语句体n+1; } B:执行流程: 首先计算比较表达式1看其返回值是true还是false, 如果是true,就执行语句体1,if语句结束. 如果是false,接着计算比较表达式2看其返回值是true还是false, 如果是true,就执行语句体2,if语句结束. 如果是fals

java语言基础与go语言基础,if语句的区别

1.java if 语句 1,if语句 if (条件){ 语句: } if(条件){ 语句1: }else{ 语句2: } 2,多重if-else语句 if(条件1){ 语句1: }else if(条件2){ 语句2: }else{ 语句: } 2.go if语句 关于条件语句,需要注意以下几点: ? 条件语句不需要使用括号将条件包含起来(): ? 无论语句体内有几条语句,花括号{}都是必须存在的: ? 左花括号{必须与if或者else处于同一行: ? 在if之后,条件语句之前,可以添加变量初始