Python(二):分支和循环

本文详细介绍了Python中的分支和循环结构,包括语句块的缩进规则,if...else...分支语句,三元操作符的使用,while循环的实现,assert断言,range与for循环的结合,以及break和continue语句在循环控制中的应用。
摘要由CSDN通过智能技术生成

2 分支与循环

本节目的是熟悉Python语言的顺序、分支、循环三种流程控制语句。

2.1 语句块

不同于C/C++中使用{}来创建语句块,Python依靠“缩进和对齐”来表示语句块的范围,这一方面也是为了规范代码格式而设置的规则。同时为了很好的区别语句块,因适当的配合空行使用。

2.2 if…else…分支语句

需要注意的是区别于C/C++,python中的分支语句需要使用:

# 基本用法
score = int(input("请输入分数:"))
if score >100 or score < 0 :          # and or not 与或非运算符
    print("error score!")
if score < 100 and score >= 60 :
    print("pass!")
if 60 > score >0 :
    print("fail!")
请输入分数:60
pass!
# 配合else,注意else if需要缩写为elif
score = int(input("请输入分数:"))
if score >100 or score < 0 :
    print("error score!")
elif score < 100 and score >= 60 :
    print("pass!")
else :
    print("fail!")
请输入分数:10
fail!
# 使用嵌套语句
score = int(input("请输入分数:"))
if score >100 or score < 0 :
    print("error score!")
else :
        if score < 100 and score >= 60 :
            print("pass!")
        else :
            print("fail!")       
请输入分数:10
fail!

2.3 三元操作符

基本语法为a = x if 条件 else y,如果条件为真就执行a = x,否则就执行a = y

score = int(input("输入判断条件"))
x = 1 if score == 0 else 2
print(x)
输入判断条件1
2

2.4 while语句

除了:外,与C/C++基本无异,但是没有do...while...语句

i = 1
while i <= 3 :
    print(i)
    i += 1      # 不支持 i++ 这种写法
1
2
3

2.5 assert断言

assert后面的条件语句为真时,程序正常执行,否则程序会报错AssertionError

x = int(input("输入一个被除数:"))
assert x != 0
print(1/x)
输入一个被除数:0

---------------------------------------------------------------------------

AssertionError                            Traceback (most recent call last)

<ipython-input-21-357b0a2310a0> in <module>
      1 x = int(input("输入一个被除数:"))
----> 2 assert x != 0
      3 print(1/x)


AssertionError: 

2.6 range & for

for循环语句的可以对任何可迭代对象进行循环,例如

str = "time is money!"
for each in str :         # 对字符串循环
    print(each, end="")   # 指定末尾为无,而不是换行
print()
lt = [ "wuyao", 22, [1997, 6],"male"]
for each in lt:       # 对列表循环
    print(each)
time is money!
wuyao
22
[1997, 6]
male

为了实现类似C/C++那样循环指定次数,则可以配合使用range对象来使用,其原型为range([start=0,] stop [,step=1]),会返回一个可迭代的序列。

a=range(1,9,2)   # 创建一个range对象,
a
range(1, 9, 2)
type(a)        # 获取类型信息
range
dir(a)     # 查看内建方法
['__bool__',
 '__class__',
 '__contains__',
 '__delattr__',
 '__dir__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__getitem__',
 '__gt__',
 '__hash__',
 '__init__',
 '__init_subclass__',
 '__iter__',
 '__le__',
 '__len__',
 '__lt__',
 '__ne__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__reversed__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 'count',
 'index',
 'start',
 'step',
 'stop']

配合for循环语句实现类似C/C++的操作,可参考如下

for i in range(5) :    # 配合默认值,则具体为(0:4)
    print(i,end=" ")
print()
for i in range(-1,6,2) : # 具体为(-1:2:6)
    print(i,end=" ")
0 1 2 3 4 
-1 1 3 5 

2.7 break

同样用来跳出当前循环。

for i in "wuyao":
    if i == "y":
        break
    print(i,end = " ")
w u 

2.8 continue语句

终止本轮循环。

for i in "wuyao":
    if i == "y":
        continue
    print(i,end = " ")
w u a o 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值