Python Revisited Day 01
逻辑操作符
身份操作符 is
a = ['AAA', 3, None]
b = ['AAA', 3, None]
a is b #False
b = a
a is b #True
身份比较速度快,原因是对直接对内存地址进行比较,所以内容相同的俩个变量结果却是false。
a = None
a is None #True
比较操作符
这里只要注意一点
0 <= a <= 10
这种结链比较是可以的,夸张一点
a < b < c < e < d
逻辑操作符
逻辑操作符:and or not
其中 and or 都使用short-circuit逻辑实现
5 and 2 #2
2 and 5 #5
5 and 2 and 3 #3
5 or 2 #5
2 or 5 #2
2 or 3 or 5 #2
2 or 3 and 5 #2
2 and 3 or 5 #3
2 or 3 and 4 and 5 and 6 and 7 #2
2 or 3 and 4 and 0 #2
0 or 3 and 4 and 5 #5
True and 1 # 1
1 and True # True
还可以得出结论, and 的优先级大于 or
算术操作符
a = 1
a += 8
a = a + 8
这里需要记住的是,python中,int数据类型是固定的,一旦赋值就不能改变。因此,对固定的对象使用增强的赋值操作符时,实际上是创建一个对象来存储结果,之后,目标对象重新绑定。所以上面的:a+=8语句执行的时候,python 会计算a+8,将所得的结果9存储到新的int对象,之后将a重新绑定为引用这个新的int对象(如果a原来引用的原始对象没有其他对象引用,就会进入垃圾收集流程)。
第二 a+=8 与 a = a + 8 并不一致,这个没怎么明白。
特殊用法:
name = 'xxx'
name + 'ccc' #xxxccc
name += 'ccc' #xxx ccc
与int一样 字符串也是固定的,所以流程和上述相同,
不过列表在python中是可变的
a = ['a', 'b', 'c']
a += 'ddd' #['a', 'b', 'c', 'd', 'd', 'd']
a += ['ddd'] #['a', 'b', 'c', 'd', 'd', 'd', 'ddd']
a += 5 #报错
列表 += 右边的操作数必须是 iterable 对象
题目
1.生成数字
import random
digits = [7, 1, 9, 4, 2, 8, 3, 0, 6]
Digits = [[random.randint(1, 1000) for j in range(7)] for i in range(10)]
try:
row = 0
while row < 7:
line = ''
column = 0
while column < len(digits):
number = int(digits[column])
digit = Digits[number]
line += str(digit[row]) + ' '
column += 1
print(line)
row += 1
except IndexError:
print('usage: <number>')
except ValueError as err:
print(err, 'in', digits)
2.循环输入数字输出长度,和,最大最小值,平均值
try:
digits = []
while True:
a = input('enter a number or Enter to finish: ')
if not a and a != 0:
break
else:
digits.append(int(a))
print('numbers: ', digits)
print('count = ', len(digits), ' sum = ', sum(digits),
' lowest = ', min(digits), ' highest = ', max(digits),
'mean = ', sum(digits) / len(digits))
except ValueError as err:
print(err, 'in', a)
- 超级超级巨大巨大罪过的诗
import random
article = ['a', 'the', 'this', 'that']
theme = ['cat', 'fish', 'dog', 'pig', 'car', 'house', 'tree']
verb = ['flied', 'walked', 'runned', 'smiled', 'jumped']
adv = ['loudly', 'quietly', 'well', 'badly']
try:
count = 0
while count < 5:
line = article[random.randint(0, len(article) - 1)] + ' ' +\
theme[random.randint(0, len(theme) - 1)] + ' ' +\
verb[random.randint(0, len(verb) - 1)] + ' ' +\
adv[random.randint(0, len(adv) - 1)]
print(line)
count += 1
except IndexError:
print('error index')
4.用户指定行数
import random
article = ['a', 'the', 'this', 'that']
theme = ['cat', 'fish', 'dog', 'pig', 'car', 'house', 'tree']
verb = ['flied', 'walked', 'runned', 'smiled', 'jumped']
adv = ['loudly', 'quietly', 'well', 'badly']
try:
count = 0
uplimit = int(input('the rows you need between 1 and 10: '))
if not uplimit or not 1<= uplimit <= 10:
uplimit = 5
while count < uplimit:
line = article[random.randint(0, len(article) - 1)] + ' ' +\
theme[random.randint(0, len(theme) - 1)] + ' ' +\
verb[random.randint(0, len(verb) - 1)] + ' ' +\
adv[random.randint(0, len(adv) - 1)]
print(line)
count += 1
except IndexError:
print('error index')
5.自制排序程序(从小到大)
import random
number = [random.randint(1, 99) for i in range(10)]
print(number)
try:
length = len(number)
for i in range(length - 1):
for j in range(i + 1, length):
if number[i] > number[j]:
number[i], number[j] = number[j], number[i]
print(number)
except IndexError:
print('index error')
很粗暴的一种排序方式,不过不计较这么多了,简单易懂就行。
。。。
Python Revisited Day 01的更多相关文章
- Python 学习笔记01
print:直接输出 type,求类型 数据类型:字符串,整型,浮点型,Bool型 note01.py # python learning note 01 print('Hello w ...
- Python web前端 01 HTML常用标签
Python web前端 01 HTML常用标签 一.HTML创建项目 file ---->new project -----> 输入项目名------>创建文件夹 new dicr ...
- Python并发编程01 /操作系统发展史、多进程理论
Python并发编程01 /操作系统发展史.多进程理论 目录 Python并发编程01 /操作系统发展史.多进程理论 1. 操作系统 2. 进程理论 1. 操作系统 定义:管理控制协调计算机中硬件与软 ...
- python网络编程01 /C/S架构|B/S架构、网络通信原理、五层协议、七层协议简述、端口映射技术
python网络编程01 /C/S架构|B/S架构.网络通信原理.五层协议.七层协议简述.端口映射技术 目录 python网络编程01 /C/S架构|B/S架构.网络通信原理.五层协议.七层协议简述. ...
- Python数学建模-01.新手必读
Python 完全可以满足数学建模的需要. Python 是数学建模的最佳选择之一,而且在其它工作中也无所不能. 『Python 数学建模 @ Youcans』带你从数模小白成为国赛达人. 1. 数学 ...
- Python Revisited Day 13 (正则表达式)
目录 13.1 Python的正则表达式语言 13.1.1 字符与字符类 13.1.2 量词 {m, n} ? + * 组与捕获 ?:可以关闭捕获 断言与标记 13.2 正则表达式模块 正则表达式模块 ...
- python --常用内置模块01
1.简单了解模块 模块就是我们把装有特定功能的代码进行归类的解构,从代码编写的单位来看我们的程序 从小到大的顺序:一条代码< 语句块<代码块(函数,类) < 模块 我 ...
- 【Python】torrentParser1.01
在昨天的版本上做了一些改进,如增加getAll,修改getSingleFileName等 代码: #-------------------------------------------------- ...
- python 资产扫描01
本地建立的三个文件: Asset1.txt 用来保存扫描到的资产 Asset2.txt 用来导入给定的资产 Repeat.txt 保存重复的资产 程序的功能: 1.资产扫描,以 位置:资产 格式保存到 ...
随机推荐
- c/c++柔性数组成员
柔性数组成员 定义和声明分离 #include <stdio.h> //只是告诉编译器,当编译到使用到这个函数的的代码时,虽然还没有找到函数定义的实体,但是也让它编译不出错误. exter ...
- python Docker 查看私有仓库镜像
pip 安装: 首先安装epel扩展源: yum -y install epel-release 更新完成之后,就可安装pip: yum -y install python-pip 安装完成之后清 ...
- JDBC复习1
1.什么是JDBC JDBC是java数据库连接技术的简称(Java DataBase Connectivity) jdbc是接口,jdbc驱动才是接口的实现,负责连接各种不同的数据库.jdbc的AP ...
- 【Teradata】设置 QUERY_BAND
SET QUERY_BAND='jobname=chs_instr;' FOR SESSION;
- Eclipse debug 断点不能调试 ,Eclipse Unable to install breakpoint in 解决办法
解决:[1]项目工程名 ,右键 --> properties --> java compiler -->class file Generation 位置 Add line numb ...
- Xshell安装后,使用的优化
常见的远程连接软件 windows Xshell.secureCRT.Putty mac ssh命令.iterm2 手机 IOS-termius Android-JuiceSSH Xshell的优化 ...
- 《程序员的自我修养》读书笔记——系统调用、API
系统调用 程序运行的时候,本身是没有权限访问多少系统资源的.系统资源有限,如果操作系统不进行控制,那么各个程序难免会产生冲突.线程操作系统都将可能产生冲突的系统资源保护起来,阻止程序直接访问. ...
- SQLite 知识摘要 --- 线程模式、事务模式
本篇主要从SQLite事务执行的原理中寻找如何更高效地使用它. 本篇预备知识 我们先来了解下SQLite执行事务的基本流程,状态变化过程,再分析怎么使用才更优.SQLite定义的锁的状态有如下几种: ...
- 浅析SQLite的锁机制和WAL技术
锁机制 SQLite基于锁来实现并发控制.SQLite的锁是粗粒度的,并不拥有PostgreSQL那样细粒度的行锁,这也使得SQLite较为轻量级.当一个连接要写数据库时,所有其它的连接都被锁住,直到 ...
- Python 特殊函数解析(lambda 函数,map 函数,filter 函数,reduce 函数)
写在之前 今天给大家介绍几个比较特殊的函数,他们具有函数式编程的特点,有人将它们视为 Python 可进行 「函数式编程」 的见证,至于什么是函数式编程,不是本篇文章的重点,感兴趣的可以去了解一下.老 ...