当前位置:   article > 正文

python学习笔记(七):运算符和流程控制_iew

iew

一.其他数据类型与bool之间的转换

True :非0的数字,非空的字符串,列表,元祖,字典(后面这三个后面会说到,现在知道就行)

False :0,‘’(),{},[],None

注意:None 不能理解为0,0是有意义的,None是一个特殊的空值

  1. #bool为False的情况
  2. #1.空字符串
  3. s1 = ""
  4. print(bool(s1))
  5. #2.数字
  6. s2 = 0
  7. print(bool(s2))
  8. #3.空元祖
  9. t = ()
  10. print(bool(t))
  11. #4.空列表
  12. li = []
  13. print(bool(li))
  14. #5.空字典
  15. dic = {}
  16. print(bool(dic))
  17. #6.None
  18. s3 = None
  19. 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输出

  1. #数字逆序输出如将123变成321输出
  2. value = 123
  3. #提取个位
  4. Gw = 123%10
  5. #提取十位
  6. Sw = (123//10)%10
  7. #提取百位
  8. Bw = 123//100
  9. #进行逆序操作
  10. Nx_value = Gw*100 + Sw*10 + Bw
  11. print(Nx_value)

结果为:

练习3:求2的3次幂

  1. a = 2**3
  2. 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.顺序流程控制语句:

顺序流程控制语句,就是按从至下的顺序依次执行

  1. #顺序流程控制语句
  2. print("aaa")
  3. print("bbb")
  4. print("ccc")

2.分支控制语句

根据条件表达式的结果执行相应的代码

分支控制语句的基本格式有多种,如下:

(1)if 语句

结构格式执行流程
if

if 条件表达式:

...代码...

如果表达式成立True,则执行if 块中的代码,否则不执行

 

 

 

 

 

注意事项:

1.条件表达式后面有冒号":"

2.if块是靠缩进表示的,一般是缩进4个空格(一个Tab键)

练习1:

定义一个变量age

判断age是否大于等于18

如果大于等于18则可以进入网咖

  1. age = int(input("请输入你的年龄:"))
  2. if age >= 18:
  3. print("欢迎来到XX网咖")

运行结果:

(2)if ...else ...语句

练习:输入用户的年龄,进行判断

  1. age = int(input("请输入你的年龄:"))
  2. if age >= 18:
  3. print("欢迎来到XX网咖")
  4. else :
  5. print("未成年人不允许上网")

运行结果为:

练习2:定义一个变量age判断年龄是否在1--120之间

  1. age = int(input("请输入你的年龄:"))
  2. if age >= 0 and age <= 120:
  3. print("输入的年龄合法")
  4. else :
  5. print("你输入的年龄不正确")

运行结果:

(3)if....elif....elif ...else结构

  1. holiday_name = input("请输入节日:")
  2. if holiday_name == "情人节":
  3. print("你今天应该买鲜花,看电影")
  4. elif holiday_name == "平安夜":
  5. print("你今天应该买苹果,吃大餐")
  6. elif holiday_name == "生日":
  7. print("你今天应该买蛋糕")
  8. else:
  9. print("尼玛都是节日啊")

运行结果:

(4)if嵌套

if嵌套指的是if块中嵌套if

  1. has_ticket = True
  2. Knife_length = 23
  3. if has_ticket == True:
  4. if Knife_length >= 20:
  5. print("刀具超过了20,不能上火车")
  6. else :
  7. print("安检通过,可以上车")
  8. else :
  9. print("没有车票不能上车")

运行结果:

(5)if/else三元表达式:

(6)综合案例:猜拳游戏

使用随机数,要用到random模式,这个暂时知道怎么用就行

  1. #导入模块
  2. import random
  3. #玩家出拳
  4. play = int(input("请出拳(1----石头,2----剪刀,3----布):"))
  5. #电脑随机出拳,调用random
  6. computer = random.randint(1,3)#randint(1,3)表示1~3里面随机出拳
  7. #进行比较
  8. if (play ==1 and computer ==2) or (play == 2 and computer == 3) or (play == 3 and computer ==1):
  9. print("玩家胜利")
  10. elif play == computer:
  11. print("平局!")
  12. else:
  13. print("电脑胜利!你弱爆了")

结果为:

3.循环控制语句

(1)while 循环

练习1:向控制台打印10遍“凉凉”歌曲

  1. count = 0
  2. while count < 10:
  3. print("送一首凉凉给你~~")
  4. count+=1
  5. print("程序结束了")

结果为:

(a)死循环

如果条件判断语句永远是True,循环体一直执行,这时的循环就变成了死循环

(b)结束循环

  1. #break
  2. num = 0
  3. while num < 10:
  4. if num == 4:
  5. print("跳出循环了")
  6. break
  7. print("当前的num值为%d",(num))
  8. num += 1

结果如下:

我们会发下当“num == 4”条件成立,就跳出了循环下面的语句就没有在执行了,这就是break的用法

  1. #continue
  2. num = 0
  3. while num < 10:
  4. if num == 4:
  5. print("跳出循环了")
  6. num += 1
  7. continue
  8. print("当前的num值为%d",(num))
  9. num += 1

运行结果如下:

我们会发现当“num == 4”条件成立时,continue下面的语句就不执行了,重新开始新的一轮。

(c)while ....else :

练习1:输入一个数,判断是否为质数

质数又称素数,一个大于1的自然数,除了1和他自身以外不能被自然数整除的数,叫做质数

  1. #判断是否我素数
  2. num = int(input("请输入一个数:"))
  3. if num <= 1 :
  4. print("这个数不是质数")
  5. else:
  6. i = 2
  7. while i < num:
  8. if num % i == 0:
  9. print("这个数不是质数")
  10. break
  11. i +=1
  12. else:
  13. print("%d是质数"%(num))

运行结果如下:

(d)while嵌套循环

while循环体中在嵌套while循环,就叫做循环嵌套

练习:用“*”打印三角形

  1. #用“*”打印三角形
  2. i = 1
  3. while i <= 5:
  4. j = 1
  5. while j <= i:
  6. print("* ",end="")
  7. j+=1
  8. print()
  9. i+=1

运行结果:

练习2:打印九九乘法表

  1. #打印九九乘法表
  2. i = 1
  3. while i <= 9:
  4. j = 1
  5. while j <= i:
  6. print("%d*%d = %d"%(j,i,i*j),end=" ")
  7. j+=1
  8. print()
  9. i+=1

运行结果:

练习3:统计数字,字母和下划线在字符串中的个数

  1. #统计数字,字母和下划线在字符串中的个数
  2. a ="abcd_12432_saSda_12"
  3. Zm = 0
  4. Sz = 0
  5. Xhx =0
  6. i =0
  7. while i <len(a):
  8. if a[i] >= "0" and a[i] <= "9":
  9. Sz += 1
  10. elif a[i] == "_":
  11. Xhx += 1
  12. else:
  13. Zm += 1
  14. i+=1
  15. 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:实心矩阵

  1. #实心矩阵
  2. for i in range(5):
  3. for j in range(5):
  4. print("*",end="")
  5. print()

运行结果如下

练习2:空心矩阵:

  1. #空心矩阵
  2. for i in range(5):
  3. for j in range(5):
  4. if i == 0 or j == 0 or i == 4 or j == 4:
  5. print("*",end="")
  6. else:
  7. print(" ",end="")
  8. print()

运行结果如下:

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/561642
推荐阅读
相关标签
  

闽ICP备14008679号