python进阶_基础篇3(分支和循环)

python分支结构和循环语句

1 知识点补充

True和数字进行运算时,为1
False和数字进行运算时,为0
%符号可以使用小数
判断一个数C是否能够同时被数A和数B整除

#方法1:
C%A==0 and C%B==0
#方法2:
C%(A*B)==0

2 分支结构

2.1.什么时候使用if语句

如果某一段代码需要在满足条件的时候才执行,就使用if语句

2.2 怎么使用if语句

2.2.1 if单分支结构 满足条件执行某个操作,不满足就不执行

结构:

if 条件语句:
       代码块
其他代码(if外面的代码)

说明:
1.if - 关键值;固定写法
2.条件语句 - 任何有结果的表达式(具体的数据、除了赋值语句以外的运算表达式)
3. : - 必须要写,固定写法
4.代码块 - 和if保持一个缩进的一条或者多条语句;需要在满足条件才执行的代码

执行过程:
判断条件语句是否为True(如果不是布尔,就看条件语句结果的布尔值是否为True),
为True就执行if里面的代码块,否则不执行

5.条件语句可以是除了赋值语句以外的任何表达式

if 100:
    pass
if "abc":
    pass
if 100 + 200 / 4:
    pass
if 100 + 200 / 4 or 100 < 500:
    pass
# 报错误:SyntaxError: invalid syntax
# if num=100:
#     pass

应用练习1:根据输入的数据值打印偶数

list1 = [2, 3, 4, 6, 7, 8]
for i in list1:
    if i % 2 == 0:
        print(i, "为偶数")

应用练习2:判断一个字符串是否是空串

str = ''
if str:
    pass
2.2.2 if 双分支结构-满足条件执行某个操作,不满足执行另一个操作

结构

if 条件语句:
    代码块1(满足条件要执行的代码)
else:
    代码块2(条件不满足的时候要执行的代码)

执行过程:
判断条件语句是否为True(如果不是布尔就转换成布尔),如果为True就执行代码块1,否者执行代码块2

应用练习1:判断一个三位数是否为水仙花(每个数的立方的和==这个数)

num = int(input("请输入要判断是否为水仙花的数:"))  # 153
num1 = num // 100
num2 = num % 10
num3 = num // 10 % 10
if num1 ** 3 + num2 ** 3 + num3 ** 3 == num:
     print(num, "是水仙花数")
else:
     print(num, "不是水仙花数")
2.2.3 if多分支结构-根据不同的条件执行不同的操作

结构语法:

if 条件语句1:
    代码块1
elif 条件语句2:
    代码块2
elsf 条件语句3:
    代码块3
....
else:
    代码块n
其他代码

执行过程:
先判断条件语句1是否为True,如果为True就执行代码块1,然后if语句结构直接结束;
否则就判断条件语句2是否为True,如果为True就执行代码块2,然后if语句结构直接结束;
以此类推
如果前面所有的条件语句都不成立,就直接执行else后面的代码块

money = 20000
if money < 1000:
    print("吃馒头")
elif money < 3000:
    print("吃小炒")
elif money < 6000:
    print("吃烤鸭")
elif money < 10000:
    print("吃火锅")
elif money < 20000:
    print("吃澳洲大龙虾")
else:
    print("吃老婆菜")

2.3.python中的三目运算符

2.3.1C中的三目运算: - ?:

表达式1?表达式2:表达式3 - 判断表达式1的值是否为真,如果是,整个运算的结果就是表达式2的值,否则整个运算的结果是表达式3的值

int age=18int result=age>=18?"成年""未成年"      
2.3.2 python中的三木运算符-是通过if-else来实现c中?:的功能

表达式2 if 表达式1 else 表达式3 --先判断表达式1的值是否为True,如果是,那整个语句的结果就是表达式2的值,否则是表达式3的值

age = 8
result = "成年" if age >= 18 else "未成年"
print(result)
score = 69
result = "及格" if score >= 60 else "不及格"
print(result)

2.4.if嵌套 -一个if语句中嵌套其他的if语句

# 输出列表中的偶数,如果能够被4整除,输出它是4的倍数
list1=[1,2,3,4,5,6,7,8,9,10]
for i in list1:
    if i % 2 == 0:
        if i % 4 == 0:
            print(i, "是偶数",end="")
            print(",它是4的倍数")
        else:
            print(i, "是偶数")
    else:
        print(i, "是奇数")

3 for循环

3.1 for循环

语法:

for 变量 in 序列:
    循环体

说明:
for - 关键字:固定写法
变量 - 可以是已经定义过的(不常用),也可以是没有定义过的变量(常用)
in - 关键字:固定写法
序列 - python中容器型类型的数据,例如:字符串、列表、元组、集合、字典、迭代器、生成器、range等
: - 固定写法
循环体 - 和for保持一个缩进的一条或者多条语句(需要重复执行的代码)

执行过程:
让变量 取序列中取值,一个一个取,每取一个值执行一次循环体,直到取完为止。
(for循环最大的循环次数和序列中元素的个数一样)

for x in 'abc':
    print('===')

"""
执行过程
x='a':print('===')
x='b':print('===')
x='c':print('===')
"""

3.2.range函数 - 产生数据序列

规则:
range(N) - 产生一个0~N-1 的数字序列(N是正整数)
range(M,N) - 产生一个M~N-1 的数字序列(M,N是整数;M,N可以是负数,但是N>M)
**range(M,N,step) -**丛M开始,每次增加step产生下一个数字,到N为止

for x in range(10):             #0到10
    print("x:", x)

for y in range(10, 100):
    print("y:", y)

for z in range(2, 10, 3):
    print("z:", z)

for j in range(10, 0, -1):
    print("j:", j)

应用实例1: 求1+2+3…+100的值

sum = 0
for i in range(1, 101):
    sum += i

print(sum)

**应用实例2** 统计100~300中能被3整除,不能被4整除的个数
```python
count = 0  # 用来保存最后的个数
for i in range(100, 301):
    if i % 3 == 0 and i % 4 != 0:
        count += 1
print(count)

4 while循环

4.1.while 循环

语法:

while 条件语句:
    循环体

说明:
while - 关键字:固定写法
条件语句- 和if后面的条件语句要求一样,不知要不是赋值语句
: - 固定写法
循环体 - 和while保持一个缩进的一条或者多条语句(需要重复执行的代码)

执行过程:
先判断条件语句是否为True,为True就执行循环体,执行完在判断条件语句是否为True,为True又执行循环体,以此类推,如果判断条件语句为False,循环结束
应用练习1: 编程实现不断从控制台输入数字,直到输入的数字是0就停止

num=int(input("请输入数字:"))
while num!=0:
    num=int(input("请输入数字:"))

5 break、continue、else

5.1 continue

continue是循环体中的关键字,只能在循环中使用。
**作用:**当执行循环体的时候,如果遇到了continue,当此循环结束,直接进入下次循环的判断

for _ in range(5):
    print('====')
    continue         #执行到此语句,直接进行下一次循环
    print('++++')    #不会进行打印

5.2.break

break是循环体中的关键字,只能在循环中使用。
**作用:**当执行循环体的时候,如果遇到了break,整个循环结束

for _ in range(5):
    print('=====')  # 只会执行一次输出
    break
    print('+++++')  # 不会输出

python中while正确打开方式

"""
while True:
    需要重复执行的操作
    if 循环结束的条件:
        break
"""
while True:
    num = input("请输入数字:")

    if num == '0':
        break

5.3 else

python中的for和while的完整结构是:
for—else结构和while-else结构

  1. for-else结
for 变量 in 序列:
    循环体

2 .while-else结构

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

else后面的代码块在循环执行的过程中,如果遇到了break不会执行,反之就会执行**

for _ in range(5):
    print("=====")
    print('+++++')
else:
    print('else中的代码块')      #可以输出'else中的代码块'

for _ in range(5):
    print("=====")
    break
    print('+++++')
else:
    print('else中的代码块')      #不会输出'else中的代码块'
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值