资讯专栏INFORMATION COLUMN

python-语句

weij / 2717人阅读

摘要:一条件语句条件语句是通过一条或多条语句的执行结果或者来决定执行的代码块。练习语句练习多个判断成绩等级优秀良好及格不及格请输入正确的分数练习猜数二循环语句循环在给定的判断条件为时执行循环体,否则退出循环体。

(一)条件语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
if 语句用于控制程序的执行,基本形式为:

if 判断条件:
    执行语句……
elif 判断条件:
    执行语句……
else:
    执行语句……

注意:(1)elif语句可以有0个或多个
(1)由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
练习1:if语句练习-多个elif-判断成绩等级

#encoding=utf-8
def print_grade_level(grades):
    if 90<=grades<=100:
        print u"优秀"
    elif 80<=grades<90:
        print u"良好"
    elif 60<=grades<80:
        print u"及格"
    else:
        print u"不及格"

try:
    grades=float(raw_input("please input your grade:"))
    print_grade_level(grades)
except Exception,e:
    print u"请输入正确的分数!"

练习2:猜数

>>> import random
>>> target_number=random.randint(1,5)
>>> guess_number=int(raw_input("input your guess number:"),)
input your guess number:4
>>> if guess_number ==target_number:
...     print "you got it"
... elif guess_number>target_number:
...     print "bigger"
... else:
...     print "less"
you got it

(二)循环语句
1while循环
在给定的判断条件为 true 时执行循环体,否则退出循环体。
语句格式为:

while 判断条件:
    执行语句……
else:
    执行语句……

注意:
执行语句可以是单个语句或语句块;
判断条件可以是任何表达式,任何非零、或非空(null)的值均为True;
当判断条件为假即False时(参考bool中false的情况),循环结束。
练习1:打印出count计算

>>> count=0
>>> while(count<9):
...     print "the index is:",count
...     count+=1

练习2:列表倒序打印

>>> number=-1
>>> while number>=-len(lista):
...        print lista[number]
...        number-=1 

练习3:猜数,循环猜数直到猜中为止

#coding=utf-8
import random
target_number=random.randint(1,5)
print target_number
guess_times=0
while 1:
    guess_number=int(raw_input("please input your guess number:"))
    guess_times+=1
    if guess_number>target_number:
        print "bigger"
    elif guess_number

for循环
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for iterating_var in sequence:
statements(s)
此处的sequence为序列,可以为元组、列表、字符串、字典。
for … else结构下
1.for里面的语句和普通的(没有else的for语句)没有区别;
2.else中的语句会在循环正常执行完后执行;
3.当for中语句通过break跳出而中断时,不会执行else。

练习1:用于序列类型

for eachLetter in "names":
...     print "current letter:",eachLetter

练习2:通过序列项迭代

>>> nameList=["walter","nicole","steven","henry"]
>>> for eachName in nameList:
...     print eachName,"lim"

练习3:通过索引迭代

>>> nameList=["walter","nicole","steven","henry"]
>>> for nameIdex in range(len(nameList)):
...      print "liu",nameList[nameIdex]

练习4:

>>> nameList=["Donn","Shirley","Ben","Janice","David","Yen","Wendy"]
>>> for i,eachLee in enumerate(nameList):
...     print "%d %s Lee"%(i+1,eachLee)

练习5:判断质数

>>>import math
>>>ss=int(raw_input("enter:"))
>>>for i in range(2,int(math.sqrt(ss))+1):
>>>    if ss%i==0:
>>>        print "%d is not prime"%ss
>>>        break
>>>else:
>>>    print "%d is prime"%ss

练习6:递规的用法

>>>def fact(n):
>>>    if n<=1:
>>>        return 1
>>>    else:
>>>        return n*fact(n-1)

注:当递归函数有return时,在递归的地方也要return,不然永远返回是None

练习6:嵌套输出10-50个数是1-5的数
方法一:

>>> for i in range(1,5):
...     for j in range(1,6):
...         print str(i)+str(j) 

方法二:

>> for i in range(10,50):
..     if str(i)[1] in ["1","2","3","4","5"]:
..         print i 

方法三:

lis=[1,2,3,4,5]
for i in range(10,51):
    j=i%10
    if j in lis:
        print i

(三)break/continue/pass语句
(1)breakcontinue
break:跳出最近所在的循环(跳过整个循环语句)
continue:跳到最近所在循环的开头处(来到循环的首行)
pass:什么事也不做,只是空占位语句
循环else块:只有当循环正常离开时才会执行(也就是没有碰到break语句)

(3)直接退出多重循环三种方式
方法一:

class getoutofloop(Exception): pass
try:
    for i in range(5):
        for j in range(5):
            for k in range(5):
                if i == j == k == 3:
                    raise getoutofloop()
                else:
                    print i, "----", j, "----", k
except getoutofloop:
    Pass

方法二:

def test():
    for i in range(5):
        for j in range(5):
            for k in range(5):
                if i == j == k == 3:
                    return
                else:
                    print i, "----", j, "----", k
test()

方法三:

for i in range(5):
    for j in range(5):
        for k in range(5):
            if i == j == k == 3:
                break
            else:
                print i, "----", j, "----", k
        else: continue
        break
    else: continue
    Break

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40894.html

相关文章

  • [零基础学Python]正规地说一句话

    摘要:语句,遍列列表字符串字典集合等迭代器,依次处理迭代器中的每个元素。与配合使用处理在程序运行中出现的异常情况。表示此行为空,不运行任何操作。在迭代器函数内使用,用于返回一个元素。恭请到上浏览及时更新的教程零基础学 小孩子刚刚开始学说话的时候,常常是一个字一个字地开始学,比如学说饺子,对他/她来讲,似乎有点难度,大人也聪明,于是就简化了,用饺饺来代替,其实就是让孩子学会一个字就能表达。当然...

    Freeman 评论0 收藏0
  • Python基础之控制结构

    摘要:基础之控制结构学习目标代码块与缩进条件语句语句语句的嵌套断言循环循环循环中断循环控制语句综合嵌套列表解析式基础相关链接学习目标是简洁易学面向对象的编程语言。 Py...

    liaosilzu2007 评论0 收藏0
  • SICP Python 描述 1.5 控制

    摘要:函数体由表达式组成。我们说头部控制语句组。于是,函数体内的赋值语句不会影响全局帧。包含了多种假值,包括和布尔值。布尔值表示了逻辑表达式中的真值。执行测试以及返回布尔值的函数通常以开头,并不带下划线例如等等。返回值之后会和预期结果进行比对。 1.5 控制 来源:1.5 Control 译者:飞龙 协议:CC BY-NC-SA 4.0 我们现在可以定义的函数能力有限,因为我们还不知...

    mingzhong 评论0 收藏0
  • Python基础语法

    摘要:当文件执行完成后,解释器不再有效。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。空行与代码缩进不同,空行并不是语法的一部分。 交互式编程 交互式编程不需要创建py文件,是通过 Python 解释器的交互模式进来编写代码,cmd进入在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: C:UsersAdministrator>py...

    teren 评论0 收藏0
  • [Python]第二章(条件语句和循环语句)—建议收藏

    摘要:循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。语句用在和循环中。语句用来告诉跳过当前循环的剩余语句,然后继续进行下一轮循环。语句是空语句,是为了保持程序结构的完整性。 各位小伙伴们大家好,在此之前我跟大家介绍过[python]的第一章,如果还没有看的小伙伴们...

    snowLu 评论0 收藏0
  • 为什么print在Python 3中变成了函数?

    摘要:如果你以逗号为分隔符,传递额外的参数,这些参数会被传递至函数,最终打印时每个参数之间会空一格。从上面的示例代码中我们就可以看出,使用函数有明显的好处与使用语句相比,我们现在能够指定其他的分隔符和结束符。这就是为什么将变成函数的原因。 本文首发于编程派的微信公众号。 原作者:Brett Cannon 原文链接:http://www.snarky.ca/why-print-became-...

    taoszu 评论0 收藏0

发表评论

0条评论

weij

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<