while循环和for循环

while循环

在程序中,有时候会遇到代码需要重复多次运行的情况。

例子:

(1)在生活中做事没让媳妇儿满意,跟她承认错误,说10遍:媳妇儿,我错了;

(2)可以使用哪些方式来完成呢?

(3)思考:假定要说10000遍呢?该怎么办?

# 1.普通方式
# print("媳妇儿,我错了...")
# print("媳妇儿,我错了...")
# print("媳妇儿,我错了...")
# print("媳妇儿,我错了...")
# print("媳妇儿,我错了...")
# print("媳妇儿,我错了...")
# print("媳妇儿,我错了...")
# print("媳妇儿,我错了...")
# print("媳妇儿,我错了...")
# print("媳妇儿,我错了...")

# 2.while循环
# i = 0
# while i < 10:
#     print("媳妇儿,我错了...")
#     i += 1

# 3.10000遍
i = 0
while i < 10000:
    print("媳妇儿,我错了...%d"%i)
    i += 1

# *4.扩展
# print("媳妇儿,我错了..."*10000)

 

 [掌握]while循环格式

while可以理解为:当……的时候,即当满足条件判断时,就反复多次地执行指定代码。

while循环语法:

初始化变量语句
while 循环条件:
    循环体语句
    改变循环条件的语句  # 先写

例子:

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

(2)在程序里,分析while循环的执行流程。

# 初始化变量
# while 条件:
#     循环体语句
#     改变条件的语句    # 先写
# i = 0
# # while i < 10:
# while i < -10:
#     print("Python真简单.")
#     i += 1

"""
    i < -10  False   直接结束
"""
i = 0  # int
# while i < 10:
while i <= 9:
    print("Python真简单.%d"%i)
    i += 1
"""
    i=0   0<10  True    print()   i=i+1  =0+1  i=1
    i=1   1<10  True    print()   i=i+1  =1+1  i=2
    .....
    i=9   9<10 True     print()   i=9+1  i=10
    i=10  10<10 False
"""

==总结:==

(1)使用while循环可以执行反复多次的效果;

(2)注意:在使用while循环时,建议先写【改变循环条件的语句】,这样可以避免产生更多错误。

[掌握]while循环应用

例子:

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

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

# 正常
total_sum = 0
i = 10
while i <= 100:
    # print(i)
    total_sum += i
    i += 1
print(f"求和为:{total_sum}")

# 逆向
# sum = 0
# j = 100
# while j >= 10:
#     sum += j
#     j -= 1
# print(f"求和为:{sum}")

==总结:==

(1)我们会发现:思维逻辑不同,编写出来的while循环案例代码也课可能不同。

[了解]死循环:

死循环,也称为无限循环,指的是程序代码一直执行,不会停止。

产生死循环的情况有:

(1)缺少了:改变循环条件的语句;
(2)误写了:循环条件;
(3)标准的死循环格式。

死循环格式:

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

例子:

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

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

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

(4)执行程序,观察效果。

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

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

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

==总结:==

(1)若要在程序里完成死循环的效果,建议直接写成(==while True==)。

其他控制语句

[掌握]for循环

与while循环功能类似,for语句也能完成反复多次的执行。

for语法:

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

说明:

序列指的是能被循环处理的数据类型,比如列表、字符串等。

接着,来看一下for循环里常见的序列range()函数。

函数名含义
range(x, y)一个序列,专门用于给for循环使用。

说明:

range()中的参数表示从x到y的取值,即[x,y),表示能获取到x值,但获取不到y值。

例子

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

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

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

(4)执行程序,观察效果。

# 1.0-4
# for temp in range(0,5):
for temp in range(5):
    print(temp)
# 2.itheima
# for temp in "itheima":
#     print(temp)
# 3.else
# for temp in "itheima":
#     print(temp)
# else:  # 原则: for语句中能正常执行完所有才会执行else   break
#     print("已循环执行结束.")
​
# *4.数字不是序列
# for temp in 100:  # 唯一??  哈希/散列
#     pass
# iterator
# iterable   # 扩展: 迭代、循环、遍历  ====>循环

==总结:==

(1)for与while循环功能类似,且都能完成反复多次执行的效果;

(2)注意:for可以配合else关键字一起使用,这句话正确吗?==A、正确==;B、错误。

[了解]嵌套循环

当在while循环内,再包含一个while循环时,则称为嵌套循环。

通俗地说,嵌套循环就是指外层有一个循环,里面再嵌套一个内层循环。

说明:

也可以使用两个for语句形成嵌套语句。

嵌套循环的语法:

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

说明:

(1)可以把内层循环当做一个循环的循环体语句来处理;

(2)当外层循环执行一次,内层循环执行所有。

我们已知道,print()输出函数有自动换行的效果,原因是底层源码设置了默认值\n。

函数名含义
print(args, end="\n")用于输出信息内容,默认有换行效果。

说明:

若要取消换行效果,只需把end值修改为其他内容。

一起看看一个统计嵌套循环的执行次数的案例。

请观察代码,并思考:执行次数为多少?

i = 0
while i<3:  # 外层循环
    j = 0
    while j<5:  # 内层循环
        print("Hello World...")
        j += 1
    i += 1

例子:

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

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

# 1.输出行
i = 1
while i <= 5:
    # 2.输出列
    j = 1
    while j <= 5:
        print("*", end="\t")
        j += 1
    print("")
    i += 1

==总结:==

(1)可以使用for或while循环完成嵌套循环,这句话正确吗?==A、正确==;B、错误;

(2)注意:在实际应用中,循环、遍历、迭代,这三个词,都可以表示循环的含义。[思考]

==思考:

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

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

# 行
i = 1
while i <= 9:
    # 列
    j = 1
    # while j <= 9:
    while j <= i:
        print(f"{j}*{i}={i*j}",end="\t")
        j += 1
    print("")
    i += 1

[掌握]break语句

==目标:==掌握break语句的使用。

break语句主要是用于终止某个循环语句块的执行。

break语法:

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

说明:

break会终止循环的执行。

例子

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

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

# 1.循环
i = 1
while i <= 50:
    print(f"正在跑第{i}圈...")
    # 2.判断
    if i == 10:
        print("身体不适,直接退出比赛...")
        # 3.退出
        break   # break: 终止   跳过当前循环的整个循环
    i += 1

==总结:==

(1)对于程序里的break,可以简单的理解为()的意思;==A、终止==;B、中断

(2)注意:break语句用于跳出当前的整个循环。

[了解]continue语句

==目标:==了解continue语句的简单使用。

continue语句不常使用,表示用于跳过某个循环语句块的一次执行,然后继续执行下一轮的循环。

continue语法:

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

说明:

continue会中断循环的一次执行。

例子

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

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

# 1.定义变量、for语句
strs = "itheima"
for temp in strs:
    print("-----------------------")
    # 2.判断
    if temp == "e":
        # 3.跳过一次执行, 并进入下一次循环
        continue
    print(temp)

==总结:==

(1)continue语句很少使用,表示的是跳过当前循环的一次循环,然后会继续下一轮的循环执行;

(2)注意:break和continue语句只能应用在循环语句中,这句话正确吗?==A、正确==;B、错误。

猜拳游戏案例

[了解]随机数的处理

==目标:==了解如何生成随机数?

要完成猜拳游戏程序的编写,优先需要知道怎么生成随机数。

注意:在Python中,要获取随机数值,可以使用生成随机数的random模块:

# 导入模块
import random

random模生成随机数的函数:

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

说明:

能同时取值a和b。

例子

(1)使用random模块来生成一个0-5之间的随机数;

(2)生成一个50-100之间的随机数值;

(3)执行程序,观察效果。

==总结:==

(1)若要生成随机数,可以使用Python的()库;==A、random==;B、math;

(2)注意:当使用randint(a, b)生成随机数时,能同时取值a和b。

[掌握]猜拳游戏代码编写

==目标:==完成猜拳游戏的代码编写。

首先,一起来了解一下:猜拳游戏规则。有:

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

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

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

例如,根据游戏规则,一起来完成猜拳游戏的代码编写。

操作步骤:

(1)显示操作界面:石头1  剪刀2  布3
(2)玩家出拳;
(3)电脑要出拳;
(4)判断玩家
    胜利:玩家1  电脑2;  玩家2  电脑3;  玩家3  电脑1;
    平局:玩家1  电脑1;  玩家2  电脑2;  玩家3  电脑3;
    失败:另外的。
import random
​
# 1.显示界面
print("=========猜拳小游戏V1.0===========")
# 5.重复
while True:
    # 2.玩家出拳
    print("可以选择出拳的方式有:")
    print("\t(1)石头")
    print("\t(2)剪刀")
    print("\t(3)布")
    player = int(input("请输入你的出拳:"))
    # 3.电脑
    computer = random.randint(1, 3)
    # 4.判断
    if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
        print("恭喜你,赢了~~")
    elif player == computer:
        print("平局!!")
    else:
        print("失败了,洗洗手再来一把!!!")
# **6.扩展
"""
    1.玩家和电脑的出拳方式没显示, 该怎么显示出来呢?
    2.想要退出游戏,该怎么办?
"""

==总结:==

(1)在编程时,可以综合运用多个简单知识,并形成一个复杂的程序;

(2)注意:在编写程序前,建议一定要先写一写完成程序的操作步骤。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值