非布尔值的与或运算
当我们对⾮布尔值进⾏与或运算时,Python会将其当做布尔值运算,最终会 返回原值
非布尔值的与运算
⾮布尔值与运算的规则 与运算是找False的,如果第⼀个值是False,则不看第⼆个值。如果第⼀ 个值是False,则直接返回第⼀个值,否则返回第⼆个值
a=1 and 2
print(a) #2
a=2 and 1
print(a) #1
a=0 and 1
print(a) #0
a=1 and 0
print(a) #0
a=2 and 3
print(a) #3
非布尔值的或运算
⾮布尔值或运算的规则 或运算是找True的,如果第⼀个值是True,则不看第⼆个值。如果第⼀个 值是True,则直接返回第⼀个值,否则返回第⼆个值
a=1 or 2
print(a) #1
a=2or 1
print(a) #2
a=0 or 1
print(a) #1
a=1 or 0
print(a) #1
条件运算符
它是if else 但不是if-else语句,它是三元运算符
条件运算符(if后边没有:):
a=0
b=1
m=a if a>b else b
if-else语句(if后边有:)
if a>b :
b=a
else:
a=b
条件运算符在执⾏时,会先对条件表达式进⾏求值判断
如果判断结果为True,则执⾏语句1,并返回执⾏结果
如果判断结果为False,则执⾏语句2,并返回执⾏结果
例如:
a=10
b=20
c=50
m=a if a>b and a>c else b if b>c else c #如果a>b并且a>c则m=a,否则 判断b是否大于c,是m=b,否m=c
print(m) #50
运算符的优先级
运算符优先级参照表:https://docs.python.org/3/reference/expressions.html#operator-precedence
条件判断语句
if语句
if语句在执⾏时,会先对条件表达式进⾏求值判断, 如果为True,则执⾏if后的语句 如果为False,则不执⾏
if True:
print('hello world') #要么都执⾏要么 都不执⾏
input()函数
该函数⽤来获取⽤户的输⼊
User_Input = int(input('请输入一个整数:'))
if-else语句
if-else语句在执⾏时,先对if后的条件表达式进⾏求值判断 如果为True,则执⾏if后的代码块 如果为False,则执⾏else后的代码块
dog= float(input())
if dog>0:
print(‘有狗出没’)
else:
print('不存在')
if-elif-else语句
if-elif-else语句在执⾏时,会⾃上向下依次对条件表达式进⾏求值判 断,如果表达式的结果为True,则执⾏当前代码块,然后语句结束 如果表达式的结果为False,则继续向下判断,直到找到True为⽌ 如果所有的表达式都是False,则执⾏else后的代码块
if-elif-else中只会有⼀个代码块会执⾏
# dog= float(input())
# person=0
# if dog<0 :
# print('输入有误')
# elif dog<=2 :
# person=dog*10.5
# else:
# person=2*10.5
# person+=(dog-2)*4
# if dog>0:
# print(person)
# else:
# print('不存在')
while语句
三要素:
1.初始化表达式:初始化一个变量
2.条件表达式:循环的规则
3.更新条件表达式:修改初始化变量的值
# 求1000以内所有的⽔仙花数
m_index = 1 # 第几个数
i = 100 # 第一个三位数 (初始化表达式)
num = 0 # 保存结果
while i < 1000: #条件表达式
num = ((i % (10 ** 1)) ** 3) + (((i % (10 ** 2)) // (10 ** 1)) ** 3) + ((i // 100) ** 3)
if num == i:
print(f'第{m_index}个水仙花数是:{num}')
m_index += 1
i += 1 #更新条件表达式