Python语句
创始人
2024-03-22 23:18:53
0

一)条件语句
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+=1if 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%10if 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:returnelse: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:breakelse:print i, '----', j, '----', kelse: continuebreakelse: continueBreak

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...