True :非0的数字,非空的字符串,列表,元祖,字典(后面这三个后面会说到,现在知道就行)
False :0,‘’,(),{},[],None
注意:None 不能理解为0,0是有意义的,None是一个特殊的空值
#bool为False的情况
#1.空字符串
s1 = ""
print(bool(s1))
#2.数字
s2 = 0
print(bool(s2))
#3.空元祖
t = ()
print(bool(t))
#4.空列表
li = []
print(bool(li))
#5.空字典
dic = {}
print(bool(dic))
#6.None
s3 = None
print(bool(s3))
运算符:算术运算符,逻辑运算符,赋值运算符,复合赋值运算符,关系运算符
1.算术运算符
下面以a= 10,b= 20为例进行运算
运算符 | 描述 | 实例 |
+ | 加 | 两个对象相加,a+b 输出结果为30 |
- | 减 | 两个对象相减,a-b 输出结果为-10 |
* | 乘 | 两个数相乘或者是返回一个被重复数次的字符串,a * b 输出的结果为200 |
/ | 除 | b / a输出的结果为:2.0;输出结果都为浮点型的 |
// | 取整除 | 也可以叫做地板除,顾名思义就是向下取整,b // a输出结果为:2.0;如果有任意一个操作数为浮点型,则结果也为浮点型 |
% | 取余 | 返回除法的余数 b % a 输出结果为0 |
** | 幂 | 返回x的y次幂a**b为a为10的20次方,输出结果为100000000000000000000 |
练习1:判断12是不是偶数
print(12%2)
结果:
练习2:数字逆序输出如将123变成321输出
#数字逆序输出如将123变成321输出
value = 123
#提取个位
Gw = 123%10
#提取十位
Sw = (123//10)%10
#提取百位
Bw = 123//100
#进行逆序操作
Nx_value = Gw*100 + Sw*10 + Bw
print(Nx_value)
结果为:
练习3:求2的3次幂
a = 2**3
print(a)
结果:
2.赋值运算符
运算符 | 描述 | 实例 |
= | 赋值运算符 | 把 = 号右边的结果给左边的变量 num =1+2*3结果num的值为7 |
3.复合赋值运算符(自增运算)
4.逻辑运算符
优先级为:not > and >or ,可以添加()来提升优先级
and和or里面存在一个短路逻辑:
(1)a and b and c and d
如果a为False 则后面所有的and 均不执行,直接返回False
如果a为True 则继续判别,如果期间存在False,则直接返回False。
(2)a or b or c or d
如果a为True 则后面所有的or 均不执行,直接返回True
如果a为False 则继续判别,如果期间存在True,则直接返回True。
5.比较(关系)运算符
(1)混合类型比较
Python 支持数字表达式的混合类型比较,同样是将简单类型转换为复杂类型进行比较
(2)连续比较
Python允许我们把大小比较测试连接起来,成为诸如范围测试的连续比较
例如表达式(A>B>C)测试B是否在A到C之间,等同于B>A and B 当我们走路的时候遇到了十字路口,我们会停下来选择要走的方向,同样在Python程序中遇到“十字路口”的时候,该如何选择方向呢? 这个时候就要用到Python 中的流程控制语句 1.顺序流程控制语句: 顺序流程控制语句,就是按从至下的顺序依次执行 2.分支控制语句 根据条件表达式的结果执行相应的代码 分支控制语句的基本格式有多种,如下: (1)if 语句 if 条件表达式: ...代码... 注意事项: 1.条件表达式后面有冒号":" 2.if块是靠缩进表示的,一般是缩进4个空格(一个Tab键) 练习1: 定义一个变量age 判断age是否大于等于18 如果大于等于18则可以进入网咖 运行结果: (2)if ...else ...语句 练习:输入用户的年龄,进行判断 运行结果为: 练习2:定义一个变量age判断年龄是否在1--120之间 运行结果: (3)if....elif....elif ...else结构 运行结果: (4)if嵌套 if嵌套指的是if块中嵌套if 运行结果: (5)if/else三元表达式: (6)综合案例:猜拳游戏 使用随机数,要用到random模式,这个暂时知道怎么用就行 结果为: 3.循环控制语句 (1)while 循环 练习1:向控制台打印10遍“凉凉”歌曲 结果为: (a)死循环 如果条件判断语句永远是True,循环体一直执行,这时的循环就变成了死循环 (b)结束循环 结果如下: 我们会发下当“num == 4”条件成立,就跳出了循环下面的语句就没有在执行了,这就是break的用法 运行结果如下: 我们会发现当“num == 4”条件成立时,continue下面的语句就不执行了,重新开始新的一轮。 (c)while ....else : 练习1:输入一个数,判断是否为质数 质数又称素数,一个大于1的自然数,除了1和他自身以外不能被自然数整除的数,叫做质数 运行结果如下: (d)while嵌套循环 while循环体中在嵌套while循环,就叫做循环嵌套 练习:用“*”打印三角形 运行结果: 练习2:打印九九乘法表 运行结果: 练习3:统计数字,字母和下划线在字符串中的个数 运行结果: (2)for循环 for循环可以遍历任何有序的序列对象内的元素 for语句可用于字符串,列表,元祖,其他内置可迭代对象以及之后我们能够通过 类所创建的新对象 (a)格式: (b)range()函数 range(start,stop,step)函数默认产生一个从0开始的一个整数列表。 Start :表示整数的开始位置 Stop:表示整数的结束,但是不包含此值。 Step:表示不长,默认为1 我们通过三个实例来理解: 1.嵌套for循环 我们看一个例子来理解for循环嵌套: 练习1:实心矩阵 运行结果如下 练习2:空心矩阵: 运行结果如下: 三.流程控制语句
#顺序流程控制语句
print("aaa")
print("bbb")
print("ccc")
结构
格式
执行流程
if
如果表达式成立True,则执行if 块中的代码,否则不执行
age = int(input("请输入你的年龄:"))
if age >= 18:
print("欢迎来到XX网咖")
age = int(input("请输入你的年龄:"))
if age >= 18:
print("欢迎来到XX网咖")
else :
print("未成年人不允许上网")
age = int(input("请输入你的年龄:"))
if age >= 0 and age <= 120:
print("输入的年龄合法")
else :
print("你输入的年龄不正确")
holiday_name = input("请输入节日:")
if holiday_name == "情人节":
print("你今天应该买鲜花,看电影")
elif holiday_name == "平安夜":
print("你今天应该买苹果,吃大餐")
elif holiday_name == "生日":
print("你今天应该买蛋糕")
else:
print("尼玛都是节日啊")
has_ticket = True
Knife_length = 23
if has_ticket == True:
if Knife_length >= 20:
print("刀具超过了20,不能上火车")
else :
print("安检通过,可以上车")
else :
print("没有车票不能上车")
#导入模块
import random
#玩家出拳
play = int(input("请出拳(1----石头,2----剪刀,3----布):"))
#电脑随机出拳,调用random
computer = random.randint(1,3)#randint(1,3)表示1~3里面随机出拳
#进行比较
if (play ==1 and computer ==2) or (play == 2 and computer == 3) or (play == 3 and computer ==1):
print("玩家胜利")
elif play == computer:
print("平局!")
else:
print("电脑胜利!你弱爆了")
count = 0
while count < 10:
print("送一首凉凉给你~~")
count+=1
print("程序结束了")
#break
num = 0
while num < 10:
if num == 4:
print("跳出循环了")
break
print("当前的num值为%d",(num))
num += 1
#continue
num = 0
while num < 10:
if num == 4:
print("跳出循环了")
num += 1
continue
print("当前的num值为%d",(num))
num += 1
#判断是否我素数
num = int(input("请输入一个数:"))
if num <= 1 :
print("这个数不是质数")
else:
i = 2
while i < num:
if num % i == 0:
print("这个数不是质数")
break
i +=1
else:
print("%d是质数"%(num))
#用“*”打印三角形
i = 1
while i <= 5:
j = 1
while j <= i:
print("* ",end="")
j+=1
print()
i+=1
#打印九九乘法表
i = 1
while i <= 9:
j = 1
while j <= i:
print("%d*%d = %d"%(j,i,i*j),end=" ")
j+=1
print()
i+=1
#统计数字,字母和下划线在字符串中的个数
a ="abcd_12432_saSda_12"
Zm = 0
Sz = 0
Xhx =0
i =0
while i
#实心矩阵
for i in range(5):
for j in range(5):
print("*",end="")
print()
#空心矩阵
for i in range(5):
for j in range(5):
if i == 0 or j == 0 or i == 4 or j == 4:
print("*",end="")
else:
print(" ",end="")
print()