Python 流程控制

🌱 if 语句

if 语句包含0个或多个elif子语句及可选的else子句。“elif”是“else if”的缩写,适用于避免过多的缩进。

Python支持来自数学的常用逻辑条件:

    • 等于:a==b
    • 不等于:a!=b
    • 小于:a<b
    • 小于等于:a<=b
    • 大于:a>b
    • 大于等于:a>=b

备注:基础知识(二)里面的比较运算符

# 根据输入的数字,打印出不同的语句。
age = int(input("请输入你的年龄:"))

if age<18:
    print("你还未成年哦!")
elif age>=18:
    print("你已成年!")
# 鉴于只有一个分支此处 elif x>=18: 应改为:ELS:
# 因为输入的数字的数据类型为str,没办法和数字进行比较(会报错)
# 所以此处对输入的数字进行了数据类型的转换。
# 当然,如果说输入的是字母也会报错,因为字母无法转换为int数据类型
# 优化示例1,加入try...except...对可能出现的错误进行错误尝试,使程序能正常运行
age = input("请输入你的年龄:")
try:
    if int(age)<18:
        print("你还未成年哦!")
    else:
        print("你已成年!")
except (ValueError):
    print("你输入的内容不是合法的数字,不能识别你的年龄")

简写if

如果只有一条语句要执行,则可以将其余if语句放在同一行。

a = 200
b = 66
if a > b: print("a is greater than b")

简写if...else

如果只有两条语句要执行,一条用于if,一条用于else,则可以将它们全放在同一行。

# 以上示例2可持续优化为 ↓
x = input("请输入你的年龄:")
try:
    # if int(x)<18:
    #     print("你还未成年哦!")
    # else:
    #     print("你已成年!")
    print("你还未成年哦!") if int(x)<18 else print("你已成年!")
except (ValueError):
    print("你输入的内容不是合法的数字,不能识别你的年龄")

还可以在同一行上使用多个else语句。

a = 200
b = 66
print("A") if a > b else print("=") if a == b else print("B")

关键字:AND

and 关键字是一个逻辑运算符,用于组合条件语句

a = 200
b = 66
c = 500
if a > b and c > a:
  print("Both conditions are True")

关键字:OR

or 关键字也是一个逻辑运算符,用于组合条件语句

a = 200
b = 66
c = 500
if a > b or a > c:
  print("At least one of the conditions is True")

嵌套if

在if语句中嵌套if语句

x = 52

if x > 10:
  print("Above ten,")
  if x > 20:
    print("and also above 20!")
  else:
    print("but not above 20.")

pass语句

if语句不能为空,如果处于某种原因写了无内容的if语句,请使用pass语句来避免错误。

a = 66
b = 200

if b > a:
  pass

🌱While 循环

使用while循环,只要条件为真,我们就可以执行一组语句。

# 示例:只要i小于7,就打印i
i = 1
while i < 7:
  print(i)
  i += 1

注释:while 循环需要准备好相关变量。记得递增变量i,否则循环会永远继续。此例中,如果没有 i += 1 则会无限打印1(初始定义的 i = 1 )

break语句

如果是用 break 语句,即使while条件为真,我们也可以停止循环。

i = 1
while i < 7:
  print(i)
  if i == 3:
    break
  i += 1
# 此例,当i==3时,则结束循环

continue语句

如果使用 continue 语句,则停止当前的迭代,并继续下一次循环。

i = 0
while i < 7:
  i += 1 
  if i == 3:
    continue
  print(i)
# 此例,当i==3时,跳过此次循环,并开始下一次循环

else语句

通过使用else语句,当条件不在成立时,可以运行一次代码。

i = 1
while i < 6:
  print(i)
  i += 1
else:
  print("i is no longer less than 6")

🌱For 循环

For 循环用于迭代序列(列表、元组、字典、集合或字符串)。

提示:for 循环不需要预先设置索引变量。

# 遍历列表
fruits = ["apple", "banana", "cherry"]
for x in fruits:
  print(x)
# 遍历字符串
for x in "banana":
  print(x)

break/continue/else

For 循环也可以使用 break/continue/else 语句。

嵌套循环

嵌套循环是循环内的循环。“外循环”每迭代一次,“内循环”将执行一次。

adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]

for x in adj:
  for y in fruits:
    print(x, y)
# 结果为
red apple
red banana
red cherry
big apple
big banana
big cherry
tasty apple
tasty banana
tasty cherr

示例:用Python打印九九乘法表

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

 

pass语句

for语句不能为空,如果处于某种原因写了无内容的for语句,请使用pass语句来避免错误。

range() 函数

内置函数range() 常用语遍历数字序列

for x in range(10):
  print(x)
# 注释:range(10) 不是0到10的值,而是0到9,range()函数默认0为起始值
# 不过可以通过添加参数来指定起始值(步长),遍历出来的值不包括结束值
for x in range(1,20,3):
    print(x)
# 结果见下图

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值