python的分支和运算符

一、分支

1.if-elif-else

1)语法:

if 条件语句:
    代码段1
elif 条件语句2:
    代码段2
elif 条件语句3:
    代码段3
。。。
else:
    代码段N
其他语句

2)执行过程:

先判读条件语句1是否为True,为True就执行代码段1,然后整个if-elif-else结构结束;
如果为False,就判断条件语句2是否为True,为True就执行代码段2,然后整个if-elif-else结构结束;
如果为False,就判断条件语句3是否为True,为True就执行代码段3,然后整个if-elif-else结构结束;
以此类推。。。
如果所有条件语句都不成立,执行else后面的代码段

例如: 根据年龄范围打印:少年(14以下)、青年(14~25)、壮年(26-35)、中年(36-50)、老年(59以上)。
age = 10
if age < 14:
    print('少年')
elif 14 <= age <= 25:
    print('青年')
elif 25 < age <= 35:
    print('壮年')
elif 35 < age <= 50:
    print('中年')
else:
    print('老年')

2.if嵌套

if结构中的代码块中可以再出现其他的if语句

例如: 判断一个数是否是偶数,并且再判断这个数是否是4的倍数。
方法一:(一般不用)
num = 8
if num & 1 == 0:
    print('偶数')
else:
    print('奇数')
if num % 4 == 0:
    print('是4的倍数!')
方法二:
num = 19
if num & 1 == 0:
    print('偶数')
    if num % 4 == 0:
        print('是4的倍数')
else:
    print('奇数')

2.for循环

1)语法:

for 变量 in 序列:
    循环体

2)说明:

for —— 关键字,固定写法
变量 —— 和声明变量时的要求一样
in —— 关键字,固定写法
序列 —— 容器型数据:字符串、列表、字典、元组、集合、迭代器、生成器、range
: —— 固定写法
循环体 —— 和for保持一个缩进的一条或者多条语句;需要重复执行的语句

3)执行过程:

让变量去序列中取值,一个一个的取,取完为止;每取一个值,执行一次循环体。
(for循环可以通过控制序列中元素的个数来控制循环的次数)

例如:

for x in 'abc12':
    print('=====')
    print('+++++')

4).range函数 ——为了让for更加方便的控制次数

1)range(N) —— 产生0-N-1的数字序列
例如:range(4) —> 0,1,2,3

2)range(M,N) —— 产生M-N-1的数字序列
例如:range(3,10) —> 3,4,5,6,7,8,9

3)range(M,N,step) —— 从M开始每隔step产生下一个数字,到N前一个数位子
例如;range(0,10,2) —> 0,2,4,6,8

作用:1.产生指定的数字序列 2.控制循环次数
for x in range(4):
    print(x)

print('==========')
for x in range(3, 10):
    print(x)

print('==========')
for x in range(0, 10, 2):
    print(x)

注意:如果for循环中变量取出来的值在循环体中无用,这个变量可以直接用_来命名.

练习1;打印0-100中所有能被3整除的数

for x in range(0, 101):
    if x % 3 == 0:
        print(x)
# 方法二
for x in range(0, 101, 3):
    print(x)

练习2:统计1-100中能被4整除并且个位数是2的数字的个数

count = 0
for x in range(1, 101):
    if (x % 4 == 0) and (x % 10 == 2):
        count += 1
print('个数:', count)

练习3:计算1+2+3+4+...100

sum1 = 0
for x in range(1, 101):
    sum1 += x
print('和:', sum1)

三、while循环

1)语法:

while 条件语句:
    循环体

2)说明:

while — 关键字;固定写法
条件语句 — 任何有结果的表达式:数据、已经声明过的变量,运算表达式(不能是赋值语句)等
: — 固定写法
循环体 — 和while保持一个缩进的一条或者多条语句;需要重复执行的语句。

3)执行过程:

先判读条件语句是否为True,如果为True就执行循环体;执行完循环体再判断条件语句是否为True,
为True又执行循环体,以此类推,知道条件语句的结果是False循环就结束。

num = 0
while num < 5:
     print('===')
     num += 1

4).for循环和while的选择

(1)什么时候使用for循环:

①循环次数确定的时候
②遍历序列

(2)什么时候使用while循环:

①死循环
②循环次数不确定

练习1、 不断输入数字,直到输入的值是0为止
 value = input('请输入数字:')
 while value != '0':
     value = input('请输入数字:')
练习2:猜数字游戏
游戏开始的时候随机产生一个数字,不断输入数字,直到输入的数字和产生的数字一致,游戏就结束。 在没有猜对的时候,给出‘大了’或者‘小了’的提示.
number = randint(0, 100)   # 产生0-100的随机数,并且保存在number中
x = int(input('请输入数字:'))
while x != number:
    x = int(input('请输入数字:'))
    if x > number:
        print('大了')
    elif x < number:
        print('小了')
    

print('游戏结束!')

四、循环关键字

1.continue

continue是循环体中的关键字.
作用:当执行循环体的时候,如果遇到continue,那么当次循环结束,直接进入下次循环的判断.

2.break

break是循环体中的关键字.
作用:当执行循环体的时候,如果遇到break,那么整个循环直接结束.

练习:不断输入数字直到输入的是0为止,然后再求奇数的和。

sum1 = 0
while True:
    value = int(input('请输入数字:'))
    if value == 0:
        break
    if value % 2 == 0:
        continue

    sum1 += value
print(sum1)

3.else

1)完整的for循环

for 变量 in 序列:
    循环体
else:
    代码段

2)完整的while循环

while 条件语句:
    循环体
else:
    代码段

else中的代码段:当循环自然死亡(for后的变量数据取完,while后面的条件为False),else后面的代码段会在循环结束后执行;如果循环是因为遇到break而结束的那么else后面代码段就不会执行。

else的意义:可以通过判断else中的代码有没有执行来判断循环有没有遇到break。

例如:

for x in range(4):
    print(x)
else:
    print('else')

4.while循环的用法

while True:
    需要重复执行的代码段
    if 退出循环的条件:
        break

五、循环嵌套

循环嵌套:外面的循环执行一次,里面的循环要执行完。

例如:

for x in range(3):
    for y in range(4):
        print(x, y)

练习:计算1!+2!+3!+...10! (N!=1 * 2 * 3 * 4 * ...N)

方法一:

sum1 = 0
# 将1-10取出来
for x in range(1, 11):
    # 计算取出来的数的阶层
    sum2 = 1
    for y in range(1, x+1):
        sum2 *= y
#     将阶乘值加起来
    sum1 += sum2
print(sum1)

方法二:

sum1 = 0
sum2 = 1
for num in range(1, 11):
    sum2 *= num
    sum1 += sum2

print(sum1)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容