python笔记3,if-else条件控制语句,while和for循环,自学python的笔记整理

四、条件控制

4.1、if语句

4.1.1、if语句语法

"""
if 条件判断语句:
    条件成立执行的代码片
"""

4.1.2、if语句代码演示

age = 19

if age < 18 :
    print(f"你的年龄为{age},未成年")

4.1.3、if语句嵌套

"""
判断是否是未成年男孩的案例:
"""
age = int(input("请输入你的年龄:"))
sex = input("请输入你的性别,M为男性,W为女性:")

if 0 < age < 18:
    if sex =="M":
        print("未成年男")

4.2、if-else语句

4.3.1、if-else语句语法

"""
if 条件判断语句:
    条件成立执行的代码片
else:
    条件不成立执行的代码片
"""

4.3.2、if-else语句代码演示

"""
判断成绩是否大于八十,大于八十为优秀,其余为仍需努力
"""
score = int(input("请输入你的分数:"))

if score > 80:
    print("成绩优秀,牛蛙牛蛙")
else:
    print("革命尚未成功,同志仍需努力")

4.2.3、if-else语句嵌套

"""
判断小明是否能坐公交以及是否有座位的案例
"""

money = int(input("请输入你的余额:"))
seat = 3
if money < 2:
    print("很抱歉,你钱不够")
else:
    if seat < 1:
        print("没座位了,站着")
    else:
        print("有座位,可以坐下")

4.3、if-elif-else语句

4.3.1、if-elif-else语句语法

"""
if 条件1:
    条件1成立所执行的代码片
elif 条件2:
    条件2成立所执行的代码片
……
elif 条件n:
    条件n成立所执行的代码片
else:
    以上条件不成立所执行的代码
    
"""

4.3.2、if-elif-else语句代码演示

"""
猜拳游戏演示,此处引入随机数模块
"""
import random
computer = random.randint(0, 2)
player = int(input("请输入你要出的拳:0-剪刀,1-石头,2-布:"))

print(computer)

if((player == 0) and (computer == 2)) or ((player == 1) and (computer == 0)) or ((player == 2) and (computer == 1)):
    print("恭喜你获胜")
elif player == computer:
    print("本局平")
else:
    print("电脑获胜")

4.4、条件控制总结

1、不要忘记了if\elif\else后面的冒号
2、条件成立执行的代码块需缩进,不然就是普通代码
3、嵌套时注意层次关系,不要把子else与父if嵌套
4、在if-elif-else语句中,else必须放在最后

4.5、条件三目运算符

4.5.1、语法

"""
条件成立执行的表达式 if 条件 else 条件不成立执行的表达式
"""

看的时候记得先从if开始,if条件成立,则执行成立时的表达式

4.5.2、代码演示

"""
判断两个数中哪个较大
"""
MAX = int(input("请输入一个数:"))
MIN = int(input("请输入一个数:"))

MAX = MAX if MAX > MIN else MIN

print(MAX)

五、循环控制

5.1、while循环语句

5.1.1、while循环的语法

"""
#语法:
while 条件:       (这里注意冒号)
    条件成立执行所执行的代码片(这里注意缩进)
"""

5.1.2、while循环的代码演示

# 打印五遍hello,world
i = 0
while i < 5:  # i < 5为循环控制条件
    print("hello,world")  # 1
    i += 1                # 2

可以发现,1、2语句在while的缩进内,因此1、2语句为循环体,其中i变量为计数器

5.1.3、while循环的案例实现

  • 1:P71案例,实现1——100累加
i = 1
result = 0
while i <= 100:
    result += i
    i += 1
print("1—100累加的结果是:%d" % result)

输出结果:1—100累加的结果是:5050

  • 2:P72、73案例,实现1-100的偶数相加的两种方法
# 法1,条件判断法
i = 1
result = 0
while i <= 100:
    if i % 2 == 0:  # 此处使用if判断i是否为偶数
        result += i
        i += 1
    i += 1
print("1—100累加的结果是:%d" % result)
# 法2,修改步进法
i = 2
result = 0
while i <= 100:
    result += i
    i += 2   # 此处修改i的步进为2,由于i的初始值为2,则result只加偶数
print("1—100累加的结果是:%d" % result)

输出结果:1—100累加的结果是:2550

5.1.4、while循环嵌套案例

  • 使用while循环嵌套,打印九九乘法表
row = 1
while row <= 9:
    col = 1
    while col <= row:
        print("%d * %d = %d" % (col, row, row * col), end="\t")
        col += 1
    print()
    row += 1

5.1.5、break和coutinue

5.1.5.1、break的使用
  • break用于终端循环,其作用是终端当前break所在循环
i = 0
while i < 5:
    print(i)
    i += 1
    if i == 3:
        break

打印结果:0 1 2

5.1.5.2、continue的使用
  • continue用于终止本次循环,其作用是终止continue所在的循环的本次循环并进行下次循环
i = 0
while i < 5:
    if i == 3:
        i += 1
        continue
    print(i)
    i += 1

打印结果:0 1 2 4

5.1.6、while-else的使用

5.1.6.1、while-else语法
"""
while 条件:
    条件成立所执行的循环体代码
else:
    循环正常结束所执行的代码
"""
5.1.6.2、while-else的代码演示
i = 0
while i < 3:
    print("今天是晴天")
else:
    print("我们出去玩")
# 循环正常退出
"""
# 打印结果:
今天是晴天
今天是晴天
今天是晴天
我们出去玩
"""
###########分割线############
i = 0
while i < 3:
    if i == 2:
        break
    print("今天是晴天")
    
else:
    print("我们出去玩")
# 循环体有break,循环非正常退出,不执行else后的语句
"""
# 打印结果:
今天是晴天
今天是晴天
"""

5.2、for循环语句

5.2.1、for循环语句的语法

"""
for 变量 in 序列:
    循环体
"""

5.2.2、for循环的代码演示

str1 = "hello,world"
# 遍历打印str1
i = 0
for i in str1:
    print(i, end=" ")

打印结果:h e l l o , w o r l d

5.2.3、range()函数在for循环中的使用

5.2.3.1、range()函数的使用
  • range()函数在python3中返回一个整数序列对象

range()函数的语法:

range(开始,结束,步长)
结束位置不能达到
示例:range(5)range(1,5),range(1,5,2)

  • 要将range()返回的对象和list对象区分清楚
  • 代码演示
print(type(range(10)))
# <class 'range'>
print(list(range(10)))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(range(5,15,2)))
# [5, 7, 9, 11, 13]
5.2.3.2、range()函数运用到for循环中

要求使用for循环计算1-100所有奇数的和

result = 0
for i in range(1, 101, 2):
    result += i
print(result)

打印结果:2500

5.2.4、for循环嵌套案例

for实现冒泡排序

a = [5, 6, 4, 2, 1, 3]
for i in range(1, len(a)):
    for j in range(0, len(a) - 1):
        if a[j] > a[j + 1]:
            a[j], a[j + 1] = a[j + 1], a[j]
print(a)

5.2.5、for-else的使用

  • for-else的语法和while-else类似,及当循环正常结束后执行else语句,如果循环体中有break且执行了,则循环异常退出,就不会执行else语句
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值