python菜鸡开发之路(三) 判断语句与循环语句

判断语句

在python中通常用if函数来判断是否满足一个条件,然后执行if函数内的代码块。一般将判断语句分为单分支和多分支两种结构。

单分支

单分支比较简单,一般只有True或者False两个结果。它的结构如下:

if <代码块1> :
	<代码块2>
else:
	<代码块3>

在这个结构中,先执行if后面的代码,假如判断成功了,那么就会执行代码块2的内容,否则就会执行代码3的内容。举个梨子尝尝

name = "jon"
passwd = "12345"


if name == "jon" and passwd == "12345":  #代码块1
    print("Login success!")  #代码块2
else:
    print("Login failed!")  #代码块3

#and 表示两个条件(name和passwd)都要满足
#输出的结果是Login success!

单分支结构比较简单,但有时候我们需要细分着判断,而不是只有是或不是这两个结果是就需要多分支结构了。

多分支

其实多分支只是在单分支的基础上添加了一个以上的elif,从而形成了其结构:

if <条件1> :
	<代码块1>
....省略
elif <条件2>:
	<代码块2>
elif <条件3>:
	<代码块3>
....省略
else:
	<代码块4>

在多分支结构中的elif是可以无限多的,视情况而定。现在我们知道了多分支的结构,那就先看看它是怎么用的:


age = eval(input("请输入年龄:\n>>>"))

if age < 18:
    print("未成年")

elif age < 45:
    print("青年")
elif age < 59:
    print("中年")
elif age < 74:
    print("年轻老人")
elif age < 89:
    print("老年")

else:
    print("长寿老人")

这里要注意的是在python执行过程中是从上到下执行的,也就是说先判定age是否小于18,而不会先去判断age小于45,。因此又有另一个问题那就是假如 age > 45在age > 18之前的话,那不就是判断有误了吗?其实只要把条件改为18 >= age > 45 就可以解决问题了。

特殊用法

  • 三元表达式
    在进行判断单分支结构时,通常会使用四句以上的代码来实现一个功能,但是python中有一种写法,只需要一句代码就能达到这个效果。先看一看它的结构:
< TRUE时执行的代码 > if < 条件 > else < False时执行的代码 >

其中,
< TRUE时执行的代码 >, if < 条件 > ,else < False时执行的代码 >三个分别为一个元,因此称为三元表达式。
然后我们再举一个列子看看:

age = input("请输入你的年龄	")
print("你已经成年了") if age >= 18 else print("你还是好好在家待着吧")

上面这个例子明显我们也能通过五行代码去解决,但是很明显,使用三元表达式更加的简洁。

循环语句

再说循环之前,必须要提一句,循环的好坏将会影响着程序运行的快慢。
在python中有两种循环方式

  • while循环
  • for循环

这两个循环都是在满足一定条件是不断执行循环内代码块的操作,先说一下while循环吧。

while循环

while循环的结构如下

while <条件>:
	<代码块>
	 

当while后面的条件为True时,将会执行while下面的代码块,直到判断到false时才会跳到下一步去。
因此编写代码时应该要注意条件的内容,根据要求去处理。

for循环

for循环是python的一个强大的功能,它可以使用迭代器协议将字符串、列表、元组、字典、集合和文件对象转化为可迭代对象。因此,for 后面的数据只能跟上述的一些可以转换为可迭代对象地数据类型,而不能是像数字这样的不可迭代的类型,否则会报错。
我们先看一看它是怎么用的:

items = [ 1,2,3,4,5,6 ]
for item in items:
    print(item)

for item in items就是将items中的每一个元素逐一取出,然后执行下面的代码。所以上面代码的执行结果为

1
2
3
4
5
6

但假如是

items = 123456
for item in items:
    print(item)

那么就会报错:

    for item in items:
TypeError: 'int' object is not iterable

特殊用法

  • continue
  • break
    运用 这两个保留字可以完成一些特定的功能。

continue:不再执行while里面的continue之后的代码了。相当于跳过下面的内容。
在这里插入图片描述
continue的工作流程实际上正如上图:当if函数没有判定为True时将会跳过continue直接执行print()函数,而当for循环遍历到5时,即item = 5时,会直接跳过print函数,然后在使item = 6 ,print(item),结束程序运行。

#结果

1
2
3
4
6

break:直接跳出循环,执行当前循环之外的代码。
在这里插入图片描述
上面的图是break的工作流程,若break执行,则直接跳出循环,所以5和6是不会被打印出来的。而是直接打印最后一行代码。

#结果

1
2
3
4
我是循环之外的代码。

若有其他的用法或者补充,欢迎留言。
不胜感激

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值