Python赋值运算及流程控制

1. 内置函数

  1> len:统计元素长度

str1 = 'wonderful'
print(len(str1))
result:
9

 
li = [1,2,3]
print(len(li))
result:
3


info = {'name':'zxj','age':23}
print(len(info))
result:
2

  2> in:判断某元素是否在某种类型内,与之相反为 not in。均返回布尔值。

a='westlife'
print('e' in a)
result:
True


a='westlife'
print('d' in a)
result:
False


a='westlife'
print('d' not in a)
result:
True

 
a='westlife'
print('e' in a)
result:
False

 

2. 基本运算符

运算符

描述

实例

+

两个对象相加,对象可以是数字、列表、字符串等

a=20,b=10,a+b输出结果为30

-

一个数减去另外一个数

a-b输出结果为10

*

乘,数与数、字符串与数可以相乘

a*b输出结果为200

/

a/b输出结果为2

%

取余(模)

a%b输出结果为0

**

高阶幂

2**3输出结果为8

//

取整除,取商的整数

9//2输出结果为4

  +支持数字、字符串、列表等对象相加:

l1 = [1,2,3]
l2 = [1,2,4]
print(l1+l2)
result:
[1,2.3,1,2,4]

  不同类型之间的转换,如将列表转换为集合、元组:

l1 = [1,2,3]
l2 = set(l1)
l3 = tuple(l1)
print(type(l1))
print(type(l2))
print(type(l3))
result:
<class 'list'>
<class 'set'>
<class 'tuple'>

 

3. 比较运算符

运算符

描述

实例

= =

等于,比较对象是否相等

a==b返回False

!=

不等于,比较两个对象是否不相等

a!=b返回True

< >

不等于,比较两个对象是否不相等

类似!=

大于

a>b返回True

小于

a<b返回False

>=

大于等于

a>=b返回True

<=

小于等于

a<=b返回False

 

4. 赋值运算符

运算符

描述

实例

=

赋值运算符

c=a+b,将a+b的结果赋值给c

+=

加法赋值运算符

c+=a等效于c=c+a

-=

减法赋值运算符

c-=a等效于c=c-a

*=

乘法赋值运算符

c*=a等效于c=c*a

/=

除法赋值运算符

c/=a等效于c=c/a

%=

取余赋值运算符

c%=a等效于c=c%a

**=

幂赋值运算符

c**=a等效于c=c**a

//=

取整除赋值运算符

c//=a等效于c=c//a

 

5. 身份运算符

  is:is与比较运算符==不同的是,is比较的是id是否相等,即比较内存地址是否一致,= =仅比较两个值是否相等。

a=10
b=10.0
print(a==b)
print(a is b)
result:
True
False

  一个内存地址可以对应多个变量,一个变量只能对应一个内存。

 

6. 逻辑运算符

运算符

描述

实例

and

布尔“与”,前后为真才为真

a为真,b为真,a and b 为真;

a为真,b为假,a and

b为假。

or

布尔“或”,前后为假才为假

a为假,b为假, a or b为假;

a为真,b为假,a or b 为真。

not

布尔“非”,非真为假,非假为真

a为真,not a为假;

b为假,not b 为真。

 

7. 流程控制

  Python语法以缩进来分层,缩进4个空格(Tab)表示内一层。

7.1 if语句

格式:

  if 条件语句:

              执行的代码1

       elif 执行的代码2:

  else:

              执行的代码块3

 

  None、0、空(‘’),则条件为假,其余条件为真。if后条件为真则执行代码1,条件为假则执行else后的代码3。注意:空格不为空。

if 2 :
    print('')
else :
    print('')
result:
真

  if条件支持or、and、not等逻辑书写。

7.2  while循环

  格式:

         while 条件:

                循环体

  条件为真则循环体执行,执行完后重新判断条件。

  条件为假则循环体不执行。

  break:跳出循环;

  continue:跳出本次循环后继续执行循环;

  pass:占位。占据当前位置,当不确定循环体如何设计时可以先用pass占位,保证语法格式。

#打印10以内的偶数
#方法一:
i = 0
while i< 11:
    print(i)
    i +=2
 

#方法二:
i = 0
while i < 11 :
    if  i % 2 == 0:
        print(i)
    i +=1

result:
0 2 4 6 8 10 count = 0 while count <=5: count +=1 if count ==3 : continue print("loop" , count) result: loop 1 loop 2 loop 4 loop 5 loop 6 count = 0 while count <=5: count +=1 if count ==3 : break print("loop" , count) result: loop 1 loop 2 count = 0 while count <=5: count +=1 if count ==3 : pass print("loop" , count) result: loop 1 loop 2 loop 3 loop 4 loop 5 loop 6

  while……..else……..:循环体执行完成后执行else后面的语句。

   练习:写一个猜拳小游戏

import random                   #调用random模块,生成随机数
win = 0
lose = 0
ping = 0
while True:
    print('=====欢迎来猜拳=====')
    print('胜:{}   败:{}   平:{}'.format(win, lose, ping))
    print('1.石头   2.剪刀   3.布   4.退出')
    computer = random.choice(['石头','剪刀',''])
    hum = input('==>:')
    
  #赢
if (hum == '1' and computer == '剪刀') or (hum == '2' and computer =='') or (hum == '3' and computer == '石头'): print('挺牛逼!') win += 1 #输 elif hum == '3' and computer == '剪刀' or hum == '1' and computer =='' or hum == '2' and computer == '石头': print('菜鸡!') lose += 1 #平 elif hum == '2' and computer == '剪刀' or hum == '3' and computer =='' or hum == '1' and computer == '石头': print('不要走,决战到天亮') ping += 1 elif hum == '4': break else: print('别瞎输入!!') print() #打印空行
result:
=====欢迎来猜拳===== 胜:0 败:0 平:0 1.石头 2.剪刀 3.布 4.退出 ==>:1 菜鸡! =====欢迎来猜拳===== 胜:0 败:1 平:0 1.石头 2.剪刀 3.布 4.退出 ==>:2 不要走,决战到天亮 =====欢迎来猜拳===== 胜:0 败:1 平:1 1.石头 2.剪刀 3.布 4.退出 ==>:2 不要走,决战到天亮 =====欢迎来猜拳===== 胜:0 败:1 平:2 1.石头 2.剪刀 3.布 4.退出 ==>:3 菜鸡! =====欢迎来猜拳===== 胜:0 败:2 平:2 1.石头 2.剪刀 3.布 4.退出 ==>:4

  Python可以通过命令pyinstaller将语句导出为.exe程序,pyinstaller可以在pycharm的终端通过pip安装。

Python赋值运算及流程控制

  在终端使用pyinstaller -F 导出为exe程序。导出文件必须在虚拟环境下。

(yunwei) E:Learningpython>pyinstaller -F game.py
171 INFO: PyInstaller: 3.4
172 INFO: Python: 3.6.8
…….
29666 INFO: Appending archive to EXE E:Learningpythondistgame.exe
29680 INFO: Building EXE from EXE-00.toc completed successfully.

  找到该文件,双击运行

Python赋值运算及流程控制

Python赋值运算及流程控制

7.3 for循环

  格式:

         for 变量 in range(start,end,step):

                循环体

       range(start,end,step)顾头不顾尾,即范围能取到start,取不到end,只能取到end的前一位。数字范围默认start为0,可以省略;step为步长,在start~end的范围间隔step取值。

       for循环将可迭代对象变成了迭代器类型,因此可以遍历字符串、列表、元组、字典等。

#打印1到5
or i in range(6):
    print(i)
result:
0
1
2
3
4
5


#打印10以内的偶数
for i in range(0,11,2):
   print(i)
result:
1
2
4
6
8
10

#遍历列表
l1 = [1,2,3,4]
for i in l1:
    print(i)
result:
1
2
3
4
 
#遍历元组
l1 = (1,2,3,4)
for i in l1:
    print(i)
result:
1
2
3
4
 
#遍历字符串
l1 = 'zxj'
for i in l1:
    print(i)
result:
z
x
j

#遍历字典,默认循环的key值
l1 = {'name':'言念君子','chara':'温润如玉'}
for i in l1:
    print (i)
result:
name
chara
 
#循环value:
l1 = {'name':'言念君子','chara':'温润如玉'}
for i in l1.values():
    print (i)
result:
言念君子
温润如玉

#循环key、value键值对
l1 = {'name':'言念君子','chara':'温润如玉'}
for i in l1.items():
    print (i)
result:
('name', '言念君子')
('chara', '温润如玉')
 
#分别循环key、value
l1 = {'name':'言念君子','chara':'温润如玉'}
for i,k in l1.items():
    print (i,k)
result:
name 言念君子
chara 温润如玉