python入门(4)循环语句的基础运用

目录

1、while循环

 2、for循环

3、range语句

4、continue和break


1、while循环

        设置一个循环条件,当符合条件时重复运行一部分的代码:

while循环语句的基本语法为:

while 循环条件:

      条件满足时要做的事1

      条件满足时要做的事2

条件满足的情况下会无限循环,循环条件和判断条件一样,都是布尔型的字面量或者结果为布尔型的表达式,True为继续循环False为停止循环,所以需要规划好循环的终止条件,否则将无限循环。同时也要注意空格缩进,确认代码的层次关系。

例题:猜数字游戏(while循环实现)

import random
num=random.randint(1,100)#随机一个1~100的数字
time=0#用于记录猜的次数
flag=True#用作循环条件
while flag:
    guess_num=int(input("请输入您猜的数字(1~100):"))
    time+=1
    if guess_num>num:
        print("您猜的数字太大了!")
    elif guess_num<num:
        print("您猜的数字太小了!")
    else:
        flag=False
        print(f"恭喜您,猜对了!一共猜了{time}次")

运行结果如图所示:

循环语句的嵌套和上一章判断语句的嵌套相似,要注意空格缩进,python基于空格缩进来决定层次关系。

拓展:

1、众所周知,使用print输出时会自动换行,要想输出之后不换行可以使用 end="" 来实现

print("hello",end="")
print("hello",end="")

输出结果为:

 2、如果想使上下两行内容像表格一样分别对齐,可以使用制表符 \t 效果等同于键盘上的Tab建

print("hello\tworld")
print("hi\tworld")

 有了以上两个拓展知识点的帮助再运用while循环语句的嵌套我们就可以实现打印九九乘法表:

#多层while循环实现打印九九乘法表
i=j=1
while i<=9:
    while j<=i:
        print(f"{j}*{i}={i*j}\t",end="")#不换行
        j+=1
    print("")#换行
    i+=1
    j=1

输出结果如下图:

 2、for循环

  除了while循环以外,python还提供了另一种循环:for循环,两者的功能基本一样但有一些区别:

  • while循环的循环条件是自定义的,自行控制循环条件
  • for循环是对一批数据逐个处理,是“轮询

因此,for循环也叫遍历循环,它是从被处理的数据中依次取出内容进行处理,理论上来说python的for循环不会构成无限循环,因为被处理的数据集不可能无限大。

for循环语句的基本语法为:

for 临时变量 in 待处理数据集:

     需要被循环执行的代码

语法中的待处理数据集严格来说被称为:序列类型,指的是其内容可以一个个依次取出的一种类型,包括:

  • 字符串
  • 列表
  • 元组
  • ... ...

举个例子:

#统计一段文字中字母a出现的次数
sum=0#用于计数
passage="Life is beautiful, but its complicated. We barely make it. We dont need to understand. There are miracles, miracles."
for i in passage:
    if i=="a":
        sum+=1
print(f"这段话中字母a一共出现了{sum}次")

输出结果为: 

需要注意的是for循环中的临时变量(即例子中的 i)的作用域限定为循环内部,而这种限定:

  • 是编程规范的限定,并不是强制要求
  • 不遵守限定也可以正常运行代码,但不建议这样做
  • 如果需要访问临时变量,可以在循环外部先定义它

 如果我们想要规定for循环的次数,可以使用range语句

3、range语句

for循环本质上是遍历一个序列,而range语句可以获得一个简单的数字序列,用于for循环非常方便

range语句有三种语法:

  1. range(n)  获取一个从0到n(不包括n)的数字序列,例如range(5)获得的数字序列是:0 1 2 3 4 5
  2. range(n,m)  获取一个从n开始到m结束的数字序列(不包括m),例如range(5,10)获取的数字序列为:5 6 7 8 9
  3. range(m,n,s)  获取一个从n开始到m结束差值为s的数字序列(不包括m),例如range(1,10,2)获取的数字序列为:1 3 5 7 9

for循环的嵌套和其他语句一样,重要的是注意空格缩进,通过range语句和for循环的嵌套我们可以轻松实现使用for循环打印九九乘法表:

for i in range(1,10):
    for j in range(1,i+1):
        print(f"{j}*{i}={j*i}\t",end="")
    print("")

输出结果如下所示:

 for循环和while循环可以互相嵌套使用,无论是for循环还是while循环,都是重复性的执行特定操作,在这个重复的过程中我们会遇到一些情况,使我们不得不暂时跳过某一循环或者提前结束循环不再继续。这就需要用到continuebreak

4、continue和break

continue关键字用于:跳过本次循环,直接开始下一次循环,它可以用于while循环和for循环,效果一致,应用于因某些原因跳过本次循环的场景。例如:

#输出从1到9,但是跳过4
for i in range(1,10):
    if i==4:
        continue
    print(i)

运行结果如图所示:

 break关键字用于直接结束循环,它同样适用于while循环和for循环,效果一致,应用于因某些原因提前结束循环的场景。例如:

#输出一段话,但在遇到字母t时停止(不输出字母t)
passage="I am on my way to future, where you are there."
for i in passage:
    if i=="t":
        break
    print(f"{i}",end="")

输出结果为:


至此,我们已经了解了循环语句的基本用法。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值