if elif else
在 Python 中,条件语句
if
可以有不同的分支形式,包括单分支、双分支和多分支。
- 单分支:只有一个条件判断,只有在条件为真时执行相应的代码块。
if condition:
# 当条件为真时执行的代码
- 双分支:有两个条件判断,根据条件的真假执行不同的代码块。
if condition1:
# 当条件1为真时执行的代码
else:
# 当条件1为假时执行的代码
- 多分支:有多个条件判断,根据不同的条件执行对应的代码块。
if condition1:
# 当条件1为真时执行的代码
elif condition2:
# 当条件2为真时执行的代码
elif condition3:
# 当条件3为真时执行的代码
...
else:
# 当以上条件都不满足时执行的代码
在多分支语句中,条件按顺序逐个判断,一旦条件为真,相应的代码块将会执行,后续的条件将不再判断。
这些不同的分支形式使得条件语句 if
更加灵活,可以根据具体的需求选择适合的分支形式来控制代码的执行流程。
score = input("请输入你的分数:")
score = int(score)
if score > 100:
print("请检查输入, 分数只有100分.")
elif score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 70:
print("还有上升空间")
elif score >= 60:
print("一般")
else:
print("不及格!等着挨揍吧!")
for循环
for variable in sequence:
# 循环体
for
是循环的关键字。
variable
是循环变量,它会在每次循环中取sequence
中的一个值。
sequence
是一个序列,任何一个可迭代对象。
hero_list = ["小满", "王昭君", "大乔", "小乔"]
for hero in hero_list:
print(hero)
小满
王昭君
大乔
小乔
hero_set = {"小满", "王昭君", "大乔", "小乔"}
for hero in hero_set:
print(hero)
# 因为是集合,所以结果会乱
小满
小乔
大乔
王昭君
hero_tuple = ("小满", "王昭君", "大乔", "小乔")
for hero in hero_tuple:
print(hero)
小满
王昭君
大乔
小乔
hero_dict = {
"小满": 3,
"王昭君": 4,
"小乔": 5
}
for hero in hero_dict:
print(hero)
小满
王昭君
小乔
content = "你是年少的欢喜"
print(content[::-1]) # 喜欢的少年是你
content = "你是年少的欢喜"
for word in content:
print(word)
你
是
年
少
的
欢
喜
while循环
while condition:
# code block
condition
是一个布尔表达式,当condition
的值为True
时,循环会继续执行。每次循环执行完毕后,会再次检查condition
的值,如果仍然为True
则继续循环,否则跳出循环。
total = 0 # 初始化变量
i = 1 # 初始化计数器
while i <= 10:
total += i
i += 1
print("Sum of 1 to 10 is:", total)
# Sum of 1 to 10 is: 55
while循环标志位
在Python的while
循环中,你可以使用一个标志位(flag)来控制循环的执行。标志位是一个变量,当满足某个条件时,将其设置为True
或False
,从而决定是否继续循环。
下面是一个使用标志位的while
循环的示例:
flag = True # 设置初始标志位为True
while flag:
# 循环执行的代码
if condition:
flag = False # 当满足某个条件时,将标志位设置为False
在这个示例中,循环会一直执行,直到满足某个条件时,将标志位flag
设置为False
,从而终止循环。
你可以根据具体的需求和条件,在循环体内部使用if
语句来判断是否需要将标志位设置为False
,从而退出循环。
count = 1
total = 0
# count就是标志位
while count:
total += 1
if total == 5:
# 不满足条件,执行完当次循环就结束整个循环
count = 0
print(total)
1
2
3
4
5
break语法
在Python中,break
是一个控制流语句,用于终止当前的循环(for
循环或while
循环)并跳出循环体。当break
被执行时,程序将立即跳出当前循环,继续执行循环之后的代码。
下面是break
语法的示例:
for item in iterable:
if condition:
break
# 在满足条件时执行的代码
或
while condition:
if condition:
break
# 在满足条件时执行的代码
在这两个示例中,当某个条件满足时,break
语句将会执行,终止当前的循环,并跳出循环体。
需要注意的是,
break
语句只能用于循环结构中,如果在没有嵌套循环的情况下使用break
,将会导致SyntaxError
错误。
hero_list = ["小满", "王昭君", "小乔", "大乔", "阿珂"]
for hero in hero_list:
if hero == "大乔":
break
print(hero)
小满
王昭君
小乔
continue语法
在Python中,continue
是一个控制流语句,用于跳过当前循环中的剩余代码,并继续下一次循环的执行。当continue
被执行时,程序将会跳过当前迭代中的剩余代码,直接开始下一次迭代。
下面是continue
语法的示例:
for item in iterable:
if condition:
continue
# 在不满足条件时执行的代码
或
while condition:
if condition:
continue
# 在不满足条件时执行的代码
在这两个示例中,当某个条件满足时,continue
语句将会执行,跳过当前迭代的剩余代码,并直接进入下一次迭代。
需要注意的是,
continue
语句只能用于循环结构中,如果在没有嵌套循环的情况下使用continue
,将会导致SyntaxError
错误。
hero_list = ["小满", "王昭君", "小乔", "大乔", "阿珂"]
for hero in hero_list:
if hero == "大乔":
continue
# 遇到了continue 下面的代码不会被执行了
print(hero)
小满
王昭君
小乔
阿珂
循环之后的else
一言以蔽之:
当循环没有被break结束,而是正常走完整个循环,就会执行else的代码
如果循环没有走完,被break打断了,那么else的代码就不会被执行到
hero_list = ["小满", "王昭君", "小乔", "大乔", "阿珂"]
for hero in hero_list:
if hero == "大乔":
break
print(hero)
else:
print("这句话不会被打印,因为循环内部有break")
小满
王昭君
小乔
hero_list = ["小满", "王昭君", "小乔", "大乔", "阿珂"]
for hero in hero_list:
print(hero)
else:
print("循环正常结束,我被打印啦!")
小满
王昭君
小乔
大乔
阿珂
循环正常结束,我被打印啦!
hero_list = ["小满", "王昭君", "小乔", "大乔", "阿珂"]
count = len(hero_list)
while count > 0:
count -= 1
print(hero_list[count])
else:
print("循环正常结束,我被打印啦!")
阿珂
大乔
小乔
王昭君
小满
循环正常结束,我被打印啦!
hero_list = ["小满", "王昭君", "小乔", "大乔", "阿珂"]
count = len(hero_list)
while count > 0:
count -= 1
if count == 1:
break
print(hero_list[count])
else:
print("这句话不会被打印,因为循环内部有break")
阿珂
大乔
小乔
嵌套循环
嵌套循环在Python中是指在一个循环内部包含另一个循环。嵌套循环允许您在循环的每个迭代中执行多个操作。
下面是一个简单的示例,说明什么是Python的嵌套循环:
for i in range(3): # 外层循环
for j in range(2): # 内层循环
print(i, j)
在这个例子中,外层循环将执行3次,内层循环将在每次外层循环迭代时执行2次。因此,这个嵌套循环将打印出6行输出,分别是(0, 0)
, (0, 1)
, (1, 0)
, (1, 1)
, (2, 0)
和(2, 1)
。
# 登录功能
# ---> 存储 字典存储用户的登录信息
# 输入框输入 用户名和密码
# 可以尝试 3 次 ----> 用户名或Miami错误的话就要重新输入了!
# 第一次的时候告诉你还有两次
# 最后一次的时候告诉你还愿意继续尝试吗?
# 如果选择继续尝试的话 ---> 继续尝试
user_dict = {"amigo": "123"}
number = 3
# 这里不用写 >=
while number > 0:
username = input("请输入您的用户名: >> ".strip())
password = input("请输入您的密码: >>>".strip())
number -= 1
if username in user_dict and password == user_dict.get(username):
print(f"登录成功,{username} 欢迎您!")
break
else:
print(f"用户名或者密码错误,你还有{number}次机会")
if number != 0:
continue
else:
again = input("是否继续尝试,继续尝试输入q: >>> ")
if again.casefold() == "q":
number = 3
else:
print("感谢使用")
# 这里不用写break
# break
range
在Python中,range()
是一个内置函数,用于生成一个整数序列。它常用于循环中,用于指定循环的次数或迭代特定范围的值。
range()
函数可以使用不同的参数来生成不同的整数序列。它可以接受一个、两个或三个参数:
range(stop)
:生成从0到stop-1
的整数序列。range(start, stop)
:生成从start
到stop-1
的整数序列。range(start, stop, step)
:生成从start
到stop-1
的整数序列,步长为step
。
下面是一些使用range()
函数的示例:
for i in range(5):
print(i) # 输出:0, 1, 2, 3, 4
for i in range(1, 6):
print(i) # 输出:1, 2, 3, 4, 5
for i in range(1, 10, 2):
print(i) # 输出:1, 3, 5, 7, 9
你也可以将range()
函数的结果转换为一个列表,以便随后使用:
numbers = list(range(1, 6))
print(numbers) # 输出:[1, 2, 3, 4, 5]
需要注意的是,range()
函数的起始值是包含在序列中的,而结束值是不包含在序列中的。因此,在使用range()
函数时,循环的终止条件通常是stop
的值。
拓展:参数可以为负数
是的,range()
函数的第三个参数可以是负数,并且前面两个参数也可以是负数。
当第三个参数为负数时,range()
函数将生成递减的整数序列。起始值应大于结束值,并且步长值为负数。下面是一个使用负数步长的示例:
for i in range(10, 0, -2):
print(i) # 输出:10, 8, 6, 4, 2
在这个示例中,range(10, 0, -2)
将生成从10递减到1的整数序列,步长为-2。
同样,起始值和结束值也可以是负数,只需满足起始值大于结束值,并且步长值为正数或负数。下面是一个使用负数起始值和结束值的示例:
for i in range(-5, -10, -1):
print(i) # 输出:-5, -6, -7, -8, -9
在这个示例中,range(-5, -10, -1)
将生成从-5递减到-9的整数序列,步长为-1。