一、循环选择和运算符
一、运算符
1、算数运算符
运算符 | 描述 | 示例 |
+ | 加 | 10+10=20 |
- | 减 | 10-10=0 |
* | 乘 | 10*10=100 |
/ | 除 | 100/10=10 |
** | 幂运算 | 10**10=10000000000 |
% | 取余数 | 10%3=1 |
// | 取整除,结果是商的整数部分,不四舍五入的哦 | 10//6=1 |
2、比较运算符
判断的结果(True或者False)使用变量接收。a=10,b=20
运算符 | 描述 | 示例 |
== | 等于,判断是否相等 | a==b;False |
!= | 不等于,判断是否不相等 | a!=b:True |
> | 大于,判断是否大于 | a>b;False |
< | 小于,判断是否小于 | a<b;True |
>= | 大于或等于,判断是否大于或者等于 | a>=b;False |
<= | 小于或等于,判断是否小于或等于 | a<=b;True |
3、成员运算符
主要是in (在)和 not in(不在).也是判断类型的,成立就返回True。可以判断字符串中是否函数某字符或字符串,字典中有无某关键字(key),元组、列表、集合中有无某一元素;
list = [1,2,'w',['b','c']] print(1 in list)#True tu = ('2',1,'shagfua') print(2 in tu)#False dict = {'n':'nnnnnn','k':'kkkkk'} print('n' in dict)#True str = 'ashugdlvagfiga' print('vag' in str)#True se = {'n','k'} print('n' not in se)#False
4、赋值运算符
运算符 | 描述 | 示例 | 解释 |
= | 简单的复制运算,让某个变量等于某值 | c=10; | 令变量c=10 |
+= | 加法赋值,加了再赋值 | a+=10 | a=a+10, |
-= | 减法赋值,减了再赋值 | a-=1 | a=a-1 |
*= | 乘法赋值,乘了再赋值 | a*=2 | a=a*2 |
/= | 除法赋值,除了再赋值 | a/=5 | a=a/5 |
%= | 取余赋值,先取余再赋值 | a%=5 | a=a%5 |
**= | 幂运算赋值,先进行幂运算再赋值 | a**=2 | a=a**2 |
//= | 整除赋值,先整除再赋值 | a//=3 | a=a//3 |
5、逻辑运算符
and(与),or(或),not(非)
and 全真为真,否则为假
or 全假为假,否则是真
not 原本是假,结果是真;原本是真,结果是假。
设a=10,b=20
运算符 | 逻辑表达式 | 描述 | 示例 |
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20 |
or | x or y | 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
二、循环
循环体:需要循环执行的语句
1、while循环
1)用法
用法:while 条件:循环体
只要满足条件就会一直循环下去。直到天荒地老海枯石烂ha e ha ha e ha e a~示例(死循环):
i=1 while True: print(i) i += 1
如果需要提前结束循环,可以使用break或者continue。这两个关键词的作用不一样,continue是结束当前这一次循环,跳到下一次循环当中,循环在本质上没有全部结束。宏观上看结束循环次数少了一次。break是直接跳所在一层循环。这层循环不再执行。
cont=0 i = 0 while i<10: i += 1 if i==5: continue cont += 1 print('循环执行了%d次'%cont) '循环执行了9次'
cont=0 i = 0 while i<10: i += 1 if i==5: break cont += 1 print('循环执行了%d次'%cont) '循环执行了4次'
2)while...else...
过程:当循环体无异常地执行完,(break算作异常)将执行else中的代码,否则不执行。比如说可以用在用户登录时候的提示;示例:
cont = 0 names = {'xiaoming':'123456','xiaoxiong':'123456'} while cont < 3: name = input('>>>用户名:') pwd = input('>>>:密码:') if name in names and pwd == names[name]: print('登录成功') break else: print('登录失败') cont += 1 else: print('账号多次登录失败,请稍后再试')
2、for循环
range:范围,可跌代对象。range有三个参数,分别是起始数,最大数,和步长。range范围包括起始数,不包括最大数,起始数和最大数可以不填写。起始数不写默认为0,步长不写默认为1。
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。for循环的语法格式示例:
for i in range(10): print(i) #i每次从range范围(0到10,不包括10)中取值输出0-9这十个数字
for遍历列表:
lis = [1,2,3,4,5,6] for item in lis: print(item) # item 每次从列表lis中取值,列表中的元素全部取过之后,循环结束
for遍历字典:
dict = {'a':''} for item in dict: print(item) # item 每次从字典dict中取值,字典中的元素全部取过之后,循环结束
for遍历元祖:
tu = ('a','b')for item in tu: print(item) # item 每次从元祖tu中取值,元祖中的元素全部取过之后,循环结束
for遍历字符串:
str = 'abcdefghijklmnopqrstuvwxyz' for char in str: print(char) # item 每次从字符串中取值,字符串中的元素全部取过之后,循环结束
for遍历集合:
set = {'a','b'} for item in set: print(item) # item 每次从集合中取值,集合中的元素全部取过之后,循环结束
三、选择
在Python中,选择只有与if相关语句,没有switch。最简单的选择:
str = '1' if str == '1': print('条件成立') else: print('条件不成立')
if后面的添加成立,进入条件内的代码块,否则进入else后面的代码块。同理,在下面的代码中也是这样。
grade = int(input('>>>输入成绩():')) if grade > 100 or grade < 0: print('数据错误') elif grade >= 80: print('优秀') elif grade>=70 and grade<80: print('良好') elif grade<70 and grade>=60: print('及格') else: print('不及格')
另外,上例每个选择分支内都可以嵌套选择,想套几层就几层。