6.循环条件判断及字符串格式化处理

本文详细介绍了Python中的while循环,包括概念、定义、案例及break和continue的使用,同时讲解了for循环的原理和示例。此外,还探讨了字符串格式化的三种方法,包括%、format和f-string,提供了多个示例帮助理解。
摘要由CSDN通过智能技术生成

While循环

1.while循环的概念

在代码当中我们避免不了需要造数据的情况,比如我让你从一加到一百,你总不可能是用手输入,一个一个相加吧,所以这里我们可以用到的是while循环,while循环被称作是条件循环,只有满足固定条件时,才会退出循环体

2.while循环的定义

Python中有while与for两种循环机制,其中while循环称之为条件循环,语法如下

while 条件:
     代码1     
     代码2     
     代码3
while的运行步骤:
步骤1:如果条件为真,那么依次执行:代码1、代码2、代码3......
步骤2:执行完毕后再次判断条件
如果条件为True则再次执行:代码1、代码2、代码3......
如果条件为False,则循环终止
  • 流程图
    在这里插入图片描述

3.while循环小案例

  • 案例一:错误案例,没有退出循环体会导致死循环
print("鸡汤来喽!!!")
while True:
	print("妈妈,我要喝鸡汤")
print("不喝了不喝了"

正确姿势应该为其设置条件或者主动break掉程序

a = 0 
print("鸡汤来喽!!!")
while a < 10:
	a +=1
	print("妈妈,我要喝鸡汤")
print("不喝了不喝了")

# 如果a=10的话,就会跳出循环体,并执行 不喝了不喝了
  • 案例二:当自身条件不满足的时候不会执行代码体
a = 0 
print("鸡汤来喽!!!")
while a > 10: # a > 10 的时候才会执行这个代码
	a +=1
	print("妈妈,我要喝鸡汤")
print("不喝了不喝了")

# 输出结果
鸡汤来喽!!!
不喝了不喝了
  • 案例三:使得条件判断为False,自动退出循环
flag = True 
print("鸡汤来喽!!!")
while True: 
	print("妈妈,我要喝鸡汤")
	flag = False # 注意这里将flag变为了False,条件不满足了,则退出循环
print("不喝了不喝了")
  • 案例四:请你设计一个用户登录系统,让用户一直输入,只有正确才可以登录
# encoding: utf-8
# Author    : limusen
# Datetime  : 2022/3/27 5:57 下午
# File      : 1.用户登录案例.py
# explain   : 文件说明

"""
这里可以结合我们之前说的input以及if条件判断

解题思路:
1.先让用户输入数据,并用一个变量存储
2.通过if判断,判断是否为我们规定的用户名或密码,是则登录成功
"""

print("进入铁牛系统...")
print("正在加载...")
print("欢迎进入铁牛系统...")

flag = True

while flag: # 默认为flag=True
    user = input("请输入用户名:")
    pwd = input("请输入密码:")
    if user == "test" and pwd == "123":
        print("登录成功!欢迎test用户登录!")
        flag = False # 登录成功则终止循环
    else:
        print("账号或密码错误,登录失败")
print("退出系统...")

当while后的条件不成立时,else中的代码就会执行。

  • 示例一
while False:
  pass
else:
  print(123)
  • 示例二
num = 1
while num < 5:
  print(num)
  num = num + 1
else:
  print(666)
  • while课堂小练习题
  1. 使用循环输出1~100所有整数。

  2. 使用循环输出 1 2 3 4 5 6 8 9 10,即:10以内除7以外的整数。

  3. 输出 1~100 内的所有奇数。

  4. 输出 1~100 内的所有偶数。

  5. 求 1~100 的所有整数的和。

  6. 输出10 ~ 1 所有整数。

4.break

除了我们将定义好的变量从True改成False,还有一种方法可以终止while循环,那就是break。
这里需要注意的是,是立刻终止代码,而不是等while循环体中代码执行完再退出

  • 案例一:使用break跳出循环
while True:
	print("今天天气怎么样")
	break  # 需要注意的是,这里其实已经跳出循环了,所以后续代码不会执行
	print("我有点想你")
print("风里雨里,家里等你")
  • 案例二:在while条件中判断,满足则退出循环
print("开始")
i = 1
while True:
	print(i)
	i = i + 1
	if i == 101: # i相加等于101的时候就退循环体
		break
print("结束")
  • 案例三:登录系统
# encoding: utf-8
# Author    : limusen
# Datetime  : 2022/3/27 5:57 下午
# File      : 1.用户登录案例.py
# explain   : 文件说明

"""
这里可以结合我们之前说的input以及if条件判断

解题思路:
1.先让用户输入数据,并用一个变量存储
2.通过if判断,判断是否为我们规定的用户名或密码,是则登录成功
"""

print("欢迎进入铁牛系统...")

while True: # 默认为flag=True
    user = input("请输入用户名:")
    pwd = input("请输入密码:")
    if user == "test" and pwd == "123":
        print("登录成功!欢迎test用户登录!")
        break # 登录成功则终止循环
    else:
        print("账号或密码错误,登录失败")
print("退出系统...")
  • 总结

当你不想再执行while循环体中的代码时,你可以在适当的地方放置一个break退出循环体,这个退出是执行完这个就直接退出了噢😯

5.continue

continue相较break而言,是直接结束掉本次循环,即本次循环continue之后的代码都不会运行了,而是直接进入下一次循环。

  • 案例一:
print("开始")
while True:
  print(1)
  continue # 一直执行 1 1 1 1 1 1 1 
  print(2)
  print(3)
print("结束")
  • 案例二:
# 打印1到10之间,除7以外的所有数字
number=11
while number>1:
    number -= 1
    if number==7:
    # 结束掉本次循环,即本次循环continue之后的代码都不会运行了,而是直接进入下一次循环
        continue 
    print(number)

6.while循环总结

对于break和continue都是放在循环语句中用于控制循环过程的,一旦遇到break就停止所有循环,一旦遇到continue就停止本次循环,开始下次循环。

当然,通过如果没有了break和continue,我们用while条件的判断以及其他协助也能完成很多功能,有了break和continue可以在一定程度上简化我们的代码逻辑。

For循环

1.for循环概念

循环结构的第二种实现方式是for循环,for循环可以做的事情while循环都可以实现,之所以用for循环是因为在循环取值(即遍历值)时for循环比while循环的使用更为简洁。

2.for循环的定义

for 变量名 in 迭代对象:
	代码一
	代码二
	....
  • 流程图
    在这里插入图片描述

3.for循环小示例

  • 示例一:取出列表中的所有数据
for number in [1,2,3,4,5,6]:
	print(number)
  • 示例二:打印数字1-5
# 这里会用到range内置函数

for number in range(6): # 这里需要注意的是 包头不包尾 只会输出1-5
	print(number)
  • 示例三:遍历字典
# 简单版:for循环的实现方式
for k in {'name':'jason','age':18,'gender':'male'}: 
 # for 循环默认取的是字典的key赋值给变量名k
    print(k)

注意:break 与 continue也可以用于for循环,使用语法同while循环

  • For循环课堂小练习
  1. 打印九九乘法表
  2. 打印金字塔

4.for循环总结

for循环相比于while循环来说更加简洁明了,不需要你自己定义变量是否为空,只要可迭代对象的内容被取完则会自动退出循环,而大部分开发的情况下都是会用到for循环来进行操作。

字符串格式化

1.字符串格式化的概念

字符串格式化,使用跟便捷的形式实现字符串的拼接。之前我们了解过字符串相关的知识,字符串是可以跟字符串相加的,但是字符串不能跟其他类型进行操作,所以我们可以用到字符串格式化的概念,替换字符串内的一些内容

2.字符串格式化类型

2.1 %

  • 基本格式化操作

示例一

name = "李木森"
# 占位符
# text = "我叫%s,今年18岁" %"李木森"
text = "我叫%s,今年18岁" %name

示例二

message = "%(name)s你什么时候过来呀?%(user)s今天不在呀。" 
% {"name": "死鬼", "user": "我老公"}
print(message)

示例三 百分比遇到百分比则需要再加一个百分比

text = "%s,这个片我已经下载了90%%了,居然特么的断网了" %"兄弟"
print(text)
# 输出:
兄弟,这个片我已经下载了90%了,居然特么的断网了

2.2 format(推荐)

  • 示例一
text = "我叫{0},今年18岁".format("李木森")

text = "我叫{0},今年{1}岁".format("李木森",18)

text = "我叫{0},今年{1}岁,真实的姓名是{0}。".format("李木森",18)
  • 示例二
text = "我叫{},今年18岁".format("李木森")

text = "我叫{},今年{}岁".format("李木森",18)

text = "我叫{},今年{}岁,真实的姓名是{}。".format("李木森",18,"李木森")
  • 示例三
text = "我叫{n1},今年18岁".format(n1="李木森")

text = "我叫{n1},今年{age}岁".format(n1="李木森",age=18)

text = "我叫{n1},今年{age}岁,真实的姓名是{n1}。".format(n1="李木森",age=18)

  • 示例四
text = "我叫%s,今年%d岁"
data1 = text %("李木森",20)
data2 = text %("大狗",84)

2.3 f (python3.6版本之后支持)

  • 示例一
text = f"嫂子喜欢{'跑步'},跑完之后满身大汗"
  • 示例二
name = "喵喵"
age = 19
text = f"嫂子的名字叫{name},今年{age}岁"
print(text)
  • 示例三
# 理解
text = f"我是{'王大锤'},我爱大铁锤"

name = "王大锤"
text = f"我是{name},我爱大铁锤"

name = "王大锤"
text = f"我是{ name.upper() },我爱大铁锤"

# 输出:我是王大锤,我爱大铁锤

3.字符串格式化总结

在之后的工作中可能需要用到字符串的格式化,所以能够提供我们选择的有很多,选择任意你喜欢的就行

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罐装七喜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值