赞
踩
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<C
当我们走路的时候遇到了十字路口,我们会停下来选择要走的方向,同样在Python程序中遇到“十字路口”的时候,该如何选择方向呢?
这个时候就要用到Python 中的流程控制语句
1.顺序流程控制语句:
顺序流程控制语句,就是按从至下的顺序依次执行
- #顺序流程控制语句
- print("aaa")
- print("bbb")
- print("ccc")
-
2.分支控制语句
根据条件表达式的结果执行相应的代码
分支控制语句的基本格式有多种,如下:
(1)if 语句
结构 | 格式 | 执行流程 |
if | if 条件表达式: ...代码... | 如果表达式成立True,则执行if 块中的代码,否则不执行 |
注意事项:
1.条件表达式后面有冒号":"
2.if块是靠缩进表示的,一般是缩进4个空格(一个Tab键)
练习1:
定义一个变量age
判断age是否大于等于18
如果大于等于18则可以进入网咖
- age = int(input("请输入你的年龄:"))
- if age >= 18:
- print("欢迎来到XX网咖")
运行结果:
(2)if ...else ...语句
练习:输入用户的年龄,进行判断
- age = int(input("请输入你的年龄:"))
- if age >= 18:
- print("欢迎来到XX网咖")
- else :
- print("未成年人不允许上网")
运行结果为:
练习2:定义一个变量age判断年龄是否在1--120之间
- age = int(input("请输入你的年龄:"))
- if age >= 0 and age <= 120:
- print("输入的年龄合法")
- else :
- print("你输入的年龄不正确")
运行结果:
(3)if....elif....elif ...else结构
- holiday_name = input("请输入节日:")
- if holiday_name == "情人节":
- print("你今天应该买鲜花,看电影")
- elif holiday_name == "平安夜":
- print("你今天应该买苹果,吃大餐")
- elif holiday_name == "生日":
- print("你今天应该买蛋糕")
- else:
- print("尼玛都是节日啊")
运行结果:
(4)if嵌套
if嵌套指的是if块中嵌套if
- has_ticket = True
- Knife_length = 23
- if has_ticket == True:
- if Knife_length >= 20:
- print("刀具超过了20,不能上火车")
- else :
- print("安检通过,可以上车")
- else :
- print("没有车票不能上车")
运行结果:
(5)if/else三元表达式:
(6)综合案例:猜拳游戏
使用随机数,要用到random模式,这个暂时知道怎么用就行
- #导入模块
- 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("电脑胜利!你弱爆了")
结果为:
3.循环控制语句
(1)while 循环
练习1:向控制台打印10遍“凉凉”歌曲
- count = 0
- while count < 10:
- print("送一首凉凉给你~~")
- count+=1
- print("程序结束了")
结果为:
(a)死循环
如果条件判断语句永远是True,循环体一直执行,这时的循环就变成了死循环
(b)结束循环
- #break
- num = 0
- while num < 10:
- if num == 4:
- print("跳出循环了")
- break
- print("当前的num值为%d",(num))
- num += 1
结果如下:
我们会发下当“num == 4”条件成立,就跳出了循环下面的语句就没有在执行了,这就是break的用法
- #continue
- num = 0
- while num < 10:
- if num == 4:
- print("跳出循环了")
- num += 1
- continue
- print("当前的num值为%d",(num))
- num += 1
运行结果如下:
我们会发现当“num == 4”条件成立时,continue下面的语句就不执行了,重新开始新的一轮。
(c)while ....else :
练习1:输入一个数,判断是否为质数
质数又称素数,一个大于1的自然数,除了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))
运行结果如下:
(d)while嵌套循环
while循环体中在嵌套while循环,就叫做循环嵌套
练习:用“*”打印三角形
- #用“*”打印三角形
- i = 1
- while i <= 5:
- j = 1
- while j <= i:
- print("* ",end="")
- j+=1
- print()
- i+=1
运行结果:
练习2:打印九九乘法表
- #打印九九乘法表
- i = 1
- while i <= 9:
- j = 1
- while j <= i:
- print("%d*%d = %d"%(j,i,i*j),end=" ")
- j+=1
- print()
- i+=1
运行结果:
练习3:统计数字,字母和下划线在字符串中的个数
- #统计数字,字母和下划线在字符串中的个数
- a ="abcd_12432_saSda_12"
- Zm = 0
- Sz = 0
- Xhx =0
- i =0
- while i <len(a):
- if a[i] >= "0" and a[i] <= "9":
- Sz += 1
- elif a[i] == "_":
- Xhx += 1
- else:
- Zm += 1
- i+=1
- print("字符串中数字有%d个,字母有%d个,下划线有%d个"%(Sz,Zm,Xhx))
运行结果:
(2)for循环
for循环可以遍历任何有序的序列对象内的元素
for语句可用于字符串,列表,元祖,其他内置可迭代对象以及之后我们能够通过
类所创建的新对象
(a)格式:
(b)range()函数
range(start,stop,step)函数默认产生一个从0开始的一个整数列表。
Start :表示整数的开始位置
Stop:表示整数的结束,但是不包含此值。
Step:表示不长,默认为1
我们通过三个实例来理解:
1.嵌套for循环
我们看一个例子来理解for循环嵌套:
练习1:实心矩阵
- #实心矩阵
- for i in range(5):
- for j in range(5):
- print("*",end="")
- print()
运行结果如下
练习2:空心矩阵:
- #空心矩阵
- 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()
运行结果如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。