Python赋值运算及流程控制
1. 内置函数
1> len:统计元素长度
str1 = 'wonderful'
print(len(str1))
result: li = [,,]
print(len(li))
result: info = {'name':'zxj','age':}
print(len(info))
result:
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 = [,,]
l2 = [,,]
print(l1+l2)
result:
[,2.3,,,]
不同类型之间的转换,如将列表转换为集合、元组:
l1 = [,,]
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=
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 :
print('真')
else :
print('假')
result:
真
if条件支持or、and、not等逻辑书写。
7.2 while循环
格式:
while 条件:
循环体
条件为真则循环体执行,执行完后重新判断条件。
条件为假则循环体不执行。
break:跳出循环;
continue:跳出本次循环后继续执行循环;
pass:占位。占据当前位置,当不确定循环体如何设计时可以先用pass占位,保证语法格式。
#打印10以内的偶数
#方法一:
i =
while i< :
print(i)
i += #方法二:
i =
while i < :
if i % == :
print(i)
i +=
result: count =
while count <=:
count +=
if count == :
continue
print("loop" , count)
result:
loop
loop
loop
loop
loop count =
while count <=:
count +=
if count == :
break
print("loop" , count)
result:
loop
loop count =
while count <=:
count +=
if count == :
pass
print("loop" , count)
result:
loop
loop
loop
loop
loop
loop
while……..else……..:循环体执行完成后执行else后面的语句。
练习:写一个猜拳小游戏
import random #调用random模块,生成随机数
win =
lose =
ping =
while True:
print('=====欢迎来猜拳=====')
print('胜:{} 败:{} 平:{}'.format(win, lose, ping))
print('1.石头 2.剪刀 3.布 4.退出')
computer = random.choice(['石头','剪刀','布'])
hum = input('==>:')
#赢
if (hum == '' and computer == '剪刀') or (hum == '' and computer =='布') or (hum == '' and computer == '石头'):
print('挺牛逼!')
win += #输
elif hum == '' and computer == '剪刀' or hum == '' and computer =='布' or hum == '' and computer == '石头':
print('菜鸡!')
lose += #平
elif hum == '' and computer == '剪刀' or hum == '' and computer =='布' or hum == '' and computer == '石头':
print('不要走,决战到天亮')
ping +=
elif hum == '':
break
else:
print('别瞎输入!!')
print() #打印空行
result:
=====欢迎来猜拳=====
胜: 败: 平:
.石头 .剪刀 .布 .退出
==>:
菜鸡! =====欢迎来猜拳=====
胜: 败: 平:
.石头 .剪刀 .布 .退出
==>:
不要走,决战到天亮 =====欢迎来猜拳=====
胜: 败: 平:
.石头 .剪刀 .布 .退出
==>:
不要走,决战到天亮 =====欢迎来猜拳=====
胜: 败: 平:
.石头 .剪刀 .布 .退出
==>:
菜鸡! =====欢迎来猜拳=====
胜: 败: 平:
.石头 .剪刀 .布 .退出
==>:
Python可以通过命令pyinstaller将语句导出为.exe程序,pyinstaller可以在pycharm的终端通过pip安装。

在终端使用pyinstaller -F 导出为exe程序。导出文件必须在虚拟环境下。
(yunwei) E:\Learning\python>pyinstaller -F game.py
INFO: PyInstaller: 3.4
INFO: Python: 3.6.
…….
INFO: Appending archive to EXE E:\Learning\python\dist\game.exe
INFO: Building EXE from EXE-.toc completed successfully.
找到该文件,双击运行


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():
print(i)
result: #打印10以内的偶数
for i in range(,,):
print(i)
result: #遍历列表
l1 = [,,,]
for i in l1:
print(i)
result: #遍历元组
l1 = (,,,)
for i in l1:
print(i)
result: #遍历字符串
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 温润如玉
Python赋值运算及流程控制的更多相关文章
- Python分支结构与流程控制
Python分支结构与流程控制 分支结构 if 语句 分支结构在任何编程语言中都是至关重要的一环,它最主要的目的是让计算机拥有像人一样的思想,能在不同的情况下做出不同的应对方案,所以if语句不管是在什 ...
- Python第四天 流程控制 if else条件判断 for循环 while循环
Python第四天 流程控制 if else条件判断 for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天 安装 shell 文件 Python第二天 ...
- python语法入门之流程控制
python语法入门之流程控制 流程控制是指控制流程,具体指控制程序执行的流程. 流程控制分为三种: 1.顺序结构 程序从上而下的正常执行(正常执行的代码就是顺序结构) 2.分支结构 赋予程序人的思维 ...
- Python成员运算,身份运算和流程控制
成员运算 in #判断--在--里面 print('a' in 'abcd') # 字符串判断a是否在abcd里面 print('you' in 'how are you') # 这种整体也可以判断 ...
- python 运算和流程控制
写在之前 今天突发奇想,想要弄一个微信自动抢红包的程序,首先去百度这个,找到了有两种方法 一种是安装「pocoui」这个第三方库,但没有给出详细代,我就没有使用这个方法. 我用使用的是第二种借助「Ai ...
- 【Python】Java程序员学习Python(六)— 流程控制、异常处理
和Java语言一样,Python也有基本的流程控制,简单了解下即可. 一.流程控制的元素 条件 条件就是布尔值或者布尔值的表达式,要么是True要么是False. 代码块 在Python中,代码块不是 ...
- Python学习笔记 - day4 - 流程控制
Python流程控制 Python中的流程控制主要包含两部分:条件判断和循环. Python的缩进和语法 为什么要在这里说缩进和语法,是因为将要学习的条件判断和分支将会涉及到多行代码,在java.c等 ...
- Python基本运算符和流程控制
常量 常量即不可改变的量,在Python中不存在常量,我们只能逻辑上规定一个常量并不去修改它,通常用全大写字母表示. 基本运算符之二 算术运算 运算符 说明 ** 幂运算 *, /, //, % 乘. ...
- PYTHON 学习笔记2 流程控制工具以及函数定义、匿名函数
前言 在上一节的学习中.已经介绍了几种基本类型.包括字符串的定义,以及字符串中索引.切片.字符串拼接的使用方法.以及基本的整形数据运算.一些之前都没有了解过的运算符.比如 ** 乘方 //整数除法等. ...
随机推荐
- Bootstrap Table 从新InsertRow 刷新表格 数据的问题处理方案
1.第一步获取数据源 var rows = { //要插入的数据,这里要和table列名一致SkuCode: data.rows[i].SkuCode,BarCode: data.rows[i].Ba ...
- react native设置容器阴影
shadowColor:'#eee',shadowOffset:{h:10,w:10},shadowRadius:3,shadowOpacity:0.8,
- subsets(2018.10.16)
一句话题意:给你一个包含n个元素的集合,问有多少个非空子集,能划分成和相等的两份.(n<=20) 题解:对于这道题,我们很轻易可以列出\(O(3^n)\)的暴力,这是显然过不了的,观察这道题的性 ...
- 关于idea中使用lamb表达式报错:ambda expressions are not supported at this language level
我使用的是jdk1.8,使用lamb表达式的时候,报错 ambda expressions are not supported at this language level, 后来,设置了 接着重启了 ...
- c3p0连接池下载
- php7+新特性
php7已经发布有段时间了,查了下正式版本的发布时间是2015年底,至于具体的新特性,在这里总结一下. 标量类型声明 php7新增了4种类型, 字符串(string), 整数 (int), 浮点数 ( ...
- JVM加载类的原理机制
在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载.链接和初始化,其中链接又可以分成校验.准备.解析装载:查找和导入类或接口的二进制数据: 链接:执行下面的校验.准备和解析 ...
- 条件运算符?:接受三个操作数,是C#中唯一的三元运算符(转)
int i = 10; int j = i == 10 ? 1 : 2; //转换成if选择结果如下 if (i == 10) { j = 1; } else { j = 2; } 需要根据还可以嵌套 ...
- CF #541div2 F
题目本质:并查集的链式合并 解决方法1: 类似哈夫曼树,叶节点们为真点,其余造一些虚的父节点,使得dfs这棵树的时候,先进行并查合并的点一定是兄弟节点因而紧挨着被输出,巧妙达到了效果. #pragma ...
- CF ECR59div2 D
题目本质:如果答案是i,那么从行和列两维都会满足:以i的倍数分块,矩阵值相同. 一种解决方法: 1.首先题目里说了要在n的约数里找orzorz…… 2.块中需要一整排都相同.用“与前一排相同否?”来判 ...