逻辑操作符

身份操作符 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)
  1. 超级超级巨大巨大罪过的诗
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的更多相关文章

  1. Python 学习笔记01

      print:直接输出 type,求类型 数据类型:字符串,整型,浮点型,Bool型     note01.py # python learning note 01   print('Hello w ...

  2. Python web前端 01 HTML常用标签

    Python web前端 01 HTML常用标签 一.HTML创建项目 file ---->new project -----> 输入项目名------>创建文件夹 new dicr ...

  3. Python并发编程01 /操作系统发展史、多进程理论

    Python并发编程01 /操作系统发展史.多进程理论 目录 Python并发编程01 /操作系统发展史.多进程理论 1. 操作系统 2. 进程理论 1. 操作系统 定义:管理控制协调计算机中硬件与软 ...

  4. python网络编程01 /C/S架构|B/S架构、网络通信原理、五层协议、七层协议简述、端口映射技术

    python网络编程01 /C/S架构|B/S架构.网络通信原理.五层协议.七层协议简述.端口映射技术 目录 python网络编程01 /C/S架构|B/S架构.网络通信原理.五层协议.七层协议简述. ...

  5. Python数学建模-01.新手必读

    Python 完全可以满足数学建模的需要. Python 是数学建模的最佳选择之一,而且在其它工作中也无所不能. 『Python 数学建模 @ Youcans』带你从数模小白成为国赛达人. 1. 数学 ...

  6. Python Revisited Day 13 (正则表达式)

    目录 13.1 Python的正则表达式语言 13.1.1 字符与字符类 13.1.2 量词 {m, n} ? + * 组与捕获 ?:可以关闭捕获 断言与标记 13.2 正则表达式模块 正则表达式模块 ...

  7. python --常用内置模块01

    1.简单了解模块         模块就是我们把装有特定功能的代码进行归类的解构,从代码编写的单位来看我们的程序 从小到大的顺序:一条代码< 语句块<代码块(函数,类) < 模块 我 ...

  8. 【Python】torrentParser1.01

    在昨天的版本上做了一些改进,如增加getAll,修改getSingleFileName等 代码: #-------------------------------------------------- ...

  9. python 资产扫描01

    本地建立的三个文件: Asset1.txt 用来保存扫描到的资产 Asset2.txt 用来导入给定的资产 Repeat.txt 保存重复的资产 程序的功能: 1.资产扫描,以 位置:资产 格式保存到 ...

随机推荐

  1. [20190401]那个更快的疑问.txt

    [20190401]那个更快的疑问.txt --//前一阵子,做了11g于10g下,单表单条记录唯一索引扫描的测试,摘要如下:--//参考链接:http://blog.itpub.net/267265 ...

  2. Spring入门详细教程(四)

    前言 本篇紧接着spring入门详细教程(三),建议阅读本篇前,先阅读第一篇,第二篇以及第三篇.链接如下: Spring入门详细教程(一) https://www.cnblogs.com/jichi/ ...

  3. PostgreSQL分页

    转自 https://blog.csdn.net/tomcat_2014/article/details/49947711 如果用过mysql,那么对 select * from xxx limit ...

  4. SqlServer误删数据恢复

    误删数据,操作步骤: 第一步: 找到误删的数据库之前备份文件. 第二步: 1,修改数据库备份模式为:大容量日志 2,修改访问限制为:SINGLE_USER(单用户模式) 第三步: 执行sql一条一条执 ...

  5. Windows安装paramiko和PyCharm工程导入

    借鉴了CSDN博主Liam_Fang的paramiko安装 原文链接:https://blog.csdn.net/weixin_39912556/article/details/80543829 前提 ...

  6. 利用uWSGI和nginx进行服务器部署

    搭建服务器虚拟环境 1)在本机进入虚拟环境,执行命令导出当前需要的所有包. pip freeze > plist.txt 2)通过ftp软件将项目代码和plist.txt文件上传到服务器. 3) ...

  7. jvm结构

    JVM的基本结构及其各部分详解(一)  https://www.cnblogs.com/zwbg/p/6194470.html JVM的基本结构及其各部分详解(二) https://www.cnblo ...

  8. CISCO 动态路由(RIP)

    RIP(路由信息协议):是一种内部网关协议(IGP),是一种动态路由选择协议,基于距离矢量算法(DistanceVectorAlgorithms),使用“跳数”(即metric)来衡量到达目标地址的路 ...

  9. MYSQL的binlog日志

    binlog 基本认识 MySQL的二进制日志以事件形式,记录了所有的DDL和DML(除了数据查询语句)语句,及语句执行消耗时间. MySQL的二进制日志是事务安全型的,是MySQL最重要的日志. b ...

  10. echarts图表大小随着外部div大小变化

    jquery有resize()事件,但直接调用没有起作用,引入jquery.ba-resize.js文件就可以了. 例如: <div class="chart" > & ...