python语句与循环_python中的判断语句与循环语句

if语句

每条if语句的核心都是一个值为Ture或False的表达式,这种表达式被称为为条件测试。if语句检查程序当前状态,并据此采取相应的措施。如果条件测试的值为Ture,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。

最简单的if语句只有一个测试和一个操作:

ifconditional_test:

do something

if else语句,在条件通过时执行一个操作,未通过时执行另一个操作。这个语法适用于两种操作取其中一个的情形。

a=10

if a != 10:print("a not 10")else:print("right")

检查超过两个的情形可以使用if-elif-else结构。python依次检查每个条件直到通过条件测试为止,并跳过余下测试。elif可使用多个,并且可以省去else如果你的条件特别精确的话。

a=10

if a < 2:print("so small")elif a < 10:print("try again")else:print("so high")

if语句在列表中的应用

a=[1,2,3,4]

b=[1,2,3,5,6,7]

c=[]for i ina:if i inb:

c.append(i)print(c)

运行结果

[1, 2, 3]

for循环

for循环可以用来遍历整个列表,每次循环for后面缩进执行的操作都会执行一次,在python中缩进是一个非常重要的部分,python根据缩进来判断代码行与前面一个代码行的关系。

a=[]for i in range(1,3):

a.append(i)print(i)print(a)

输出结果1

2[1, 2]

a=[]for i in range(1,3):

a.append(i)print(i)print(a)

输出结果1[1]2[1, 2]

列表解析将for循环和创建新元素的代码合并成一行:

a=[i*2 for i in range(10)]print(a)

运行结果

[0,2, 4, 6, 8, 10, 12, 14, 16, 18]

while循环

for循环用于针对集合中每个元素的代码块,while用于让循环不断运行直到条件不满足为止。

i =0while i < 3:print(i)

i+=1输出结果

01

2

除了while条件不满足以外还可以通过break退出循环。

whileTrue:

name=input('what is your name:\t'.expandtabs(2))if name =='quit':break运行结果

whatisyour name: jack

whatisyour name: jeff

whatisyour name: quit

Process finished with exit code 0

while循环还可以使用continue退出本次循环。

i=1

while i < 10:

i+=1

if i % 2 == 1:continue

print(i)

运行结果2

4

6

8

10

还有一种用标志位的方式进行退出循环:

flag =Truewhileflag:

name=input("what is your name:")if name == 'quit':

flag=Falseelse:print(name)

运行结果

whatisyour name: jeff

jeff

whatisyour name: quit

Process finished with exit code 0

我们还常用while循环处理列表和字典,与for循环不同的是,for循环遍历列表时不应该修改列表,这使得python中修改后难以跟踪其中的元素,所以遍历时修改列表需要使用while循环。

names=['jeff','xixi','frank']

names2=[]whilenames:

name=names.pop()

names2.append(name)print(names)print(names2)

运行结果

[]

['frank', 'xixi', 'jeff']

删除列表中的某个值:

names=['jeff','jeff','JEFF','tom']while 'jeff' innames:

names.remove('jeff')print(names)

运行结果

['JEFF', 'tom']

使用用户填充字典:

names_hobby={}whileTrue:

name= input("what is your name:")if name == 'quit':breakhobby= input("what your hobby:")

names_hobby[name]=hobbyprint(names_hobby)

运行结果

whatisyour name: jeff

what your hobby: play

whatisyour name: mike

what your hobby: jeff

whatisyour name: quit

{'mike': 'jeff', 'jeff': 'play'}

break和continue

break:跳出当前的循环体,不在继续后面的循环,可用在while循环和for循环中;

continue:跳出当前的循环,继续下一次循环,可用在while循环和for循环中。

数据运算

算术运算;

1165242-20170903140652202-1382248.png

比较运算:

1165242-20170903140711421-2004459535.png

赋值运算:

1165242-20170903140729577-1233150085.png

逻辑运算:

1165242-20170903140743530-433633232.png

成员运算:

1165242-20170903140805405-1420894037.png

身份运算:

1165242-20170903140818296-1192332081.png

位运算:

1165242-20170903140833780-262014307.png

运算符优先级:

1165242-20170903140856812-187629234.png

附加:三元运算

result = 值1 if 条件 else 值2

如果条件为真:result = 值1

如果条件为假:result = 值2

#三元运算,就是if条件判断,前后各有一个值,指向一个变量#条件成立,就将第一个值赋给变量,条件不成立就将第二个值赋给变量#就是一个条件判断,和两个不同的值组合成的判断运算,就是三元运算

a = 11b= "小孩"c= "青年"

#判断如果a变量小于或者等于10就将b变量赋值给nian变量,否则就将c变量赋值给nian变量

nian = b if a <= 10 elsecprint(nian)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值