01-知识回顾、算术运算符
- 什么是变量
- 变量的命名规则
02-知识回顾、赋值运算符
- 算数运算符 + 、-、 *、 /、 //、%、**
1 a = 5 2 b = 3 3 print(a+b) 4 print(a-b) 5 print(a*b) 6 print(a/b) 7 print(a//b) 8 print(a%b) 9 print(a**b) a+b=8 a-b=2 a*b=15 a/b=1.6666666666666667 a//b=1 a%b=2 a**b=125
- 赋值运算符: = 、+=、 -=、 *=、 /=、 %=、 //=、 **=
1 number = 1 #等价于 将数字1赋值给number变量 2 number += 2 #等价于number = number + 1 3 number -= 2 #等价于number = number - 1 4 number *= 2 #等价于number = number * 1 5 number /= 2 #等价于number = number / 1 6 number //= 2 #等价于number = number // 1 7 number %= 2 #等价于number = number % 1 8 number **= 2 #等价于number = number ** 1
- 比较运算符 : > 、<、 =、 >=、 <=、 !=、 == (返回值为True 或False)
1 a = 5 2 b = 3 3 print(a>b)#True 4 print(a<b)#False 5 print(a>=b)#True 6 print(a<=b)#False 7 print(a==b)#False 8 print(a!=b)#True
- 逻辑运算符 and 、or、not (用来做逻辑运算,返回值同比较运算符,为True、False)
1 #逻辑运算符 2 a = 5 3 b = 3 4 c = 1 5 print(a > b and a < c)#Flase 6 print(a > b or a < c)#True 7 print(not c > a)#True 8 print(not b > c)#False 9 print(not a > b)#False
以上为“真值表”
- 成员运算符 in、not in (用来判断一个元素是否是另一个元素的成员,返回值为:True或False)
1 #成员运算符 2 name = "cuixiaozhao" 3 print("cui" in name)#True 4 print("CUI" in name)#False 5 print("CUI" not in name)#True 6 print("cui" not in name)#False
- 身份运算符 is、not is (用来判断身份,返回值为:True或False)
1 #身份运算符 2 name = "cuixiaozhao" 3 alias = name 4 NAME = "cuixiaozhao" 5 print(alias is name)#True 6 print(alias is not name)#False 7 print(NAME is name)#True 8 print(NAME is not name)#False
- 表达式
1+2*3 就是一个表达式,这里的加号和乘号叫做运算符,1、2、3叫做操作数。1+2*3 经过计算后得到的结果是7,就1+2*3 = 7。我们可以将计算结果保存在一个变量里,a = 1-2*3 。 所以表达式就是由操作数和运算符组成的一句代码或语句,表达式可以求值,可以放在“=”的右边,用来给变量赋值。
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 ‘AND‘ |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
运算符那么多,优先级记不住怎么办? 使用小括号。通过使用小括号,我们就可以很方便的进行优先级的区分。
03-题目判断3个数字中的最大值
常规思路
if num1>num2>num3 #num1最大
elif num1>num3>num2 #num1最大
elif num2>num1>num3 #num2最大
elif num2>num3>num1 #num2最大
elif num3>num2>num1 #num3最大
else
num3>num1>num2 #num3最大
04-题目判断最大值讲解
1 num1 = int(input("Please input the 1 number:")) 2 num2 = int(input("Please input the 2 number:")) 3 num3 = int(input("Please input the 3 number:")) 4 maxNumber = 0#定义最大的数字并赋值0 5 if num1 > num2 : 6 maxNumber = num1 7 if maxNumber > num3: 8 print("The biggest number is 1st number:",maxNumber) 9 else: 10 print("The biggest number is 3th number:",num3) 11 else: 12 maxNumber = num2 13 if maxNumber > num3: 14 print("The biggest number is 2th:",maxNumber) 15 else: 16 print("The biggest number is 3th:",num3)
05-逻辑运算符、表达式
见01-知识回顾、算数运算符中的综合讲解
06-短路原则
运算符中的优先级,使用小括号提升
条件1 and 条件2
条件1 or 条件2
短路原则
- 对于and 如果前面的第一个条件为假,那么这个and前后两个条件组成的表达式 的计算结果就一定为假,第二个条件就不会被计算
- 对于or如果前面的第一个条件为真,那么这个or前后两个条件组成的表达式 的计算结果就一定为真,第二个条件就不会被计算
07-while循环01
- while循环
1 while 条件: 2 print("结果")
#Req:打印1~100之间的数字
number = 1
while number <= 100:
print(number)
number += 1
- break语句
1 #打印1~100之间的数字,如果大于或等于66时候,中断打印 2 number = 0 3 while number <= 100: 4 print(number) 5 if number >= 66: 6 break 7 number += 1
- continue语句
1 #Req:打印1~100之间的数字,但不包含数字91 2 number = 0 3 while number <= 99: 4 number += 1 5 if number == 91: 6 continue 7 print(number)
- while循环中的else讲解
如果不存在break语句,便执行while中的else语句
- print()换行讲解 # print()等价于print(end="\n")
- while循环的嵌套
1 line = 0 2 while line <5: 3 #print("*") 4 width = line#此处很重要,将行数line赋值给宽度width,此时显示结果为:等腰直角三角形 5 while width >=0: 6 print("*",end="") 7 width -=1 8 print() 9 line +=1
08-while循环02
1 Req:打印1~10 2 #方法01 3 print(1) 4 print(2) 5 print(4) 6 print(5) 7 print(6) 8 print(7) 9 print(8) 10 print(9) 11 print(10) 12 #方法02 13 num = 1#定义一个变量 14 while num <= 10: 15 print(num) 16 num += 1 17 #打印1~100之间的数字 18 num = 1 19 while num <= 100: 20 print(num) 21 num += 1 22 #打印1~100之间的所有偶数 23 even_num = 2#定义一个变量even_number(偶数) 24 while even_num <= 100: 25 print(even_num) 26 even_num += 2 27 #打印1~100之间的所有偶数 28 even_number = 1 29 while even_number <=100: 30 if even_number %2 == 0: 31 print(even_number) 32 even_number += 1 33 #猜年龄代码 34 #Req:定义一个年龄,用户输入年龄,给出判断结果 35 age = 75 36 userInputAge = int(input("Please input your guess age:")) 37 if userInputAge == age: 38 print("Congratulations to you ,you got it!") 39 elif userInputAge > age: 40 print("Sorry,your guess is bigger than the true age") 41 else: 42 print("Sorry,your guess is smaller than the true age") 43 print("End of it!") 44 #猜年龄代码 45 #Req:定义一个年龄,用户输入年龄,给出判断结果,循环输入, 46 age = 75 47 flag = True#此处定义一个标志 48 while flag: 49 userInputAge = int(input("Please input your guess age:")) 50 if userInputAge == age: 51 print("Congratulations to you ,you got it!") 52 flag =False 53 elif userInputAge > age: 54 print("Sorry,your guess is bigger than the true age") 55 else: 56 print("Sorry,your guess is smaller than the true age") 57 print("End of it!")
09-while循环03
- 打印指定宽度和高度的矩形
1 input_width = int(input("Please input width:")) 2 input_height = int(input("Please input height:")) 3 height = 1 4 while height <= input_height: 5 # print("#", end="") 6 width = 1 7 while width <= input_width: 8 print("*", end="") 9 width += 1 10 print() # print()等价于print(end="\n") 11 height += 1
- 打印9*9乘法表
1 height = 1#定义一个纵向变量height 2 while height <= 9: 3 number = 1 4 while number <= height: 5 #print(number,"*",height,"=",height*number,end=" ")#此处用到了字符串的拼接 6 print(str(number)+"*"+str(height)+"="+str(height*number),end="\t") 7 number += 1 8 print()#等价于print(end="\n") 9 height += 1
10-本节内容总结
- 算术运算符(注意,不是算数运算符哦!)
- 比较运算符
- 逻辑运算符
- 表达式和运算符
- 运算符的优先级(加上小括号及短路原则)
- while循环——while循环的嵌套 、break语句、continue语句、while循环中的else
- 实例练习:猜年龄游戏、打印1~100之间的数字(奇数、偶数)、打印指定长款的矩形