🌱 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)
# 结果见下图