Python(三)-流程控制

目录

Python三大基本语句

if语句

if-else语句

if..elif...else...

if嵌套语句

for循环

while循环

死循环

while嵌套

break语句

continue语句

案例-猜拳游戏


Python三大基本语句

(1)顺序语句

(2)分支语句

(3)循环语句

if语句

if 条件: 
   条件成立时,要做的事情

例 

(1)定义一个变量,用于从键盘上获取自己的年龄;

(2)当年龄大于等于18岁时,就输出:xx已成年,可以去网咖了

# if语句
age = int(input("请输入年龄:"))

if age >=18:
    print(("我已成年,可以去网吧了"))

 if-else语句

 if 条件:
    满足条件时,要做的事情1
    满足条件时,要做的事情2
    满足条件时,要做的事情3
    ...(省略)...
else:
    不满足条件时,要做的事情1
    不满足条件时,要做的事情2
    不满足条件时,要做的事情3

(1)当年龄达到18周岁后,允许进入网咖玩游戏;

(2)当未达到18周岁时,就禁止进入网吧,观察效果;

# 1.定义变量
age = int(input("请输入年龄:"))
# 2.判断并输出  [满足条件、不满足]
if age >= 18:
    print("已成年,可以去网吧了!!!")
else:
    print("未成年人禁止进入网吧!!")

 

if..elif...else...

if 条件1:
    满足条件1,执行代码1
    ...
elif 条件2:
    满足条件2,执行代码2
    ...
elif 条件3:
    满足条件3,执行代码3

(1)学生平时的考试成绩分为优秀、良好、及格、不及格;

(2)当考试成绩为90 ~ 100分时,为优秀;当考试成绩为70 ~ 90分时,为良好;当考试成绩为60 ~ 70分时,为及格;当考试成绩为0 ~ 60分时,为不及格;

(3)学生考试成绩,默认分数为0 ~ 100分;

score = int(input("请输出你的分数"))

# 2.判断大小、输出
if 90 <= score and score <= 100:
    print(f"您的成绩为:{score}, 优秀.")
elif 70 <= score and score < 90:
    print(f"您的成绩为:{score}, 良好.")
elif 60 <= score and score < 70:
    print(f"您的成绩为:{score}, 及格.")
elif 0 <= score and score < 60:
    print(f"您的成绩为:{score}, 不及格.")

# 4.有其他方式?
if 90 <= score <= 100:  # 只能在python中使用
    print(f"您的成绩为:{score}, 优秀.")
elif 70 <= score < 90:
    print(f"您的成绩为:{score}, 良好.")
elif 60 <= score < 70:
    print(f"您的成绩为:{score}, 及格.")
elif 0 <= score < 60:
    print(f"您的成绩为:{score}, 不及格.")

if嵌套语句

if 条件1:
    满足条件1,做的事情1
    满足条,1,做的事情2
    ...
    if 条件2:
        满足条件2,做的事情1
        满足条件2,做的事情2

(1)坐高铁时,需要先查看旅客是否有车票;

(2)若没车票,则直接不让进站;

(3)当有车票后,才能进行安检;

(4)若携带管制刀具,不超过10cm时,则安检通过后即可去乘车,否则不让乘车;

# if嵌套
ticket = 1
knife_length = 25
if ticket > 0 :
    print("-----可以进站了--------")
    if knife_length < 10:
        print("--------可以乘车拉!--------------")
    else:
        print("--------管制刀具太长了,不可以乘车!-----------")
else:
    print("-------没有票,不可以进站-----------------")

 for循环

 for 临时变量 in 序列:
    满足条件时,执行的代码1
    满足条件时,执行的代码2
    ……
[else:
    当for循环正常执行结束后,执行代码]

 for循环经常使用range()函数

(1)使用for循环格式来编写程序;

(2)输出0 ~ 4之间的数字,可使用range();

(3)循环输出itheima中的单个字符,且当正常执行结束后,输出:已结束循环;

# 输出0-4
for i in range(5):
    print(i)



# 循环输出python中的单个字符
for i in "python":
    print(i)
else:
    print("已结束循环")

while循环

while 循环条件:
    循环体语句
    改变循环条件的语句 

例1

使用while循环语句来输出10句:Python真简单;

# while循环
i = 1
while i <= 10:
    print("python真简单")
    i += 1

例2

(1)计算10 ~ 100之间所有自然数的和(包含10和100);

(2)分别使用正常和逆向思维来完成。

# 正向
sum = 0
i = 10
while i <= 100:
    sum = sum + i
    # print(f"自然数的和{sum}")
    i = i + 1
print(f"自然数的和{sum}")


# 逆向
sum = 0
i = 100
while i >= 10:
    sum = sum + i
    i = i - 1
print(f"自然数的和{sum}")

逢七就过游戏 范围 1~999

i = 1
while i <= 999:
    if ( i % 7 == 0  or (i // 10) % 10 == 7 or (i // 100) % 10 == 7 or i % 10 == 7):
        print("过")
    else:
        print(i)
    i += 1

注:

  • 对于个位的计算:i % 10 == 7
  • 对于十位的计算: (i / 10) % 10 == 0
  • 对于百位的计算:(i / 100) % 10 == 0
  • 对于倍数得计算 : i  %  7 == 0

 死循环

while True:
    代码1
    代码2
    ...

 例

(1)当缺少了:改变循环条件的语句,完成一个死循环案例;

(2)当误写了:循环条件,完成一个死循环案例;

(3)使用标准的死循环格式完成一个死循环案例;

# 缺少语句
i = 0
while i <= 10:  # True
    print("hello , python")

# 误写条件
i = 0
while i > -10:  # True
    print("hello , FangGe")
    i += 1

# 标准
while True:
    print("hello , python...")

while嵌套

初始化变量语句1
while 循环条件1:  # 外层循环
    [循环体语句1]
    初始化变量语句2
    while 循环条件2:  # 内层循环
        循环体语句2
        改变循环条件的语句2
    改变循环条件的语句1

 例1

(1)使用嵌套循环来完成程序;

(2)请使用*代替,并输出一个正方形的显示效果。

i = 1
while i <= 5:
    j = 1
    while j <= 5:
        print("*",end = "\t")
        j += 1
    print("")
    i = i + 1

 例2

(1)使用嵌套循环来完成程序;

(2)动手实践一个九九乘法表的显示效果。

# 输出九九乘法表
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f"{i}*{j}={i*j}" ,end="\t")
        j += 1
    print("")
    i = i + 1

break语句

用于跳出某个循环语句块的执行 

循环语句块
    ……
    break
其他语句

(1)一次长跑比赛中,体育老师说:本次长跑总共跑50圈,如果有同学跑到第10圈时,感到身体不适,就直接退出比赛;

(2)使用while循环和break模拟长跑效果。

i = 1
while i <= 50:
    print(f"正在跑第{i}圈")
    if i == 10:
        print("身体不适,退出比赛")
        break
    i += 1

 continue语句

只跳出一次循环

循环语句块
    ……
    continue
其他语句

 例

(1)请在输"hello,python"的单个元素时,如遇字母e,直接跳过且不输出;[后字母]

(2)使用for循环和continue模拟跳过输出的效果。

# continue
for i in "hello,python":
    if i == "e":
        continue
    else:
        print(i,end="\t")

案例-猜拳游戏

前提:

需要导入random模块

# 导入模块
import random

函数名含义
randint(a, b)生成随机数,用于返回[a, b]之间的整数,并能取值a和b。

(1)玩家输入自己要出的拳,例如石头(1)、剪刀(2)、布(3);

(2)电脑随机出拳,例如电脑可以出:石头、剪刀、布的任意一个;

(3)猜拳游戏的比较胜负规则是:石头能赢剪刀、剪刀能赢布、布能赢石头。

import random

print("--------------猜拳游戏---------------------")

user = int(input("玩家要出的 石头:1  剪刀:2 布:3:"))
computer = int(random.randint(1,3))

if (user== 1 and computer == 2) or (user== 2 and computer == 3) or (user== 3 and computer == 1):
    print("恭喜你,你胜利了!!!")
elif user == computer:
    print("打平了,再接再厉")
else:
    print("差一点点就赢了")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值