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.资产扫描,以 位置:资产 格式保存到 ...
随机推荐
- CSS margin 外边距 属性的位置关系
padding:内边距 margin :外边距 margin:10px; 所有 4 个外边距都是 10px ******************************************* ma ...
- 数据库之mysql篇(6)—— mysql常用函数函数/自定义函数
常用函数 运算函数 我相信你都能看懂,所以以上的不再做过多解释 然后还有个,前面漏掉的between and: 意指10是否在0到20之间,如果是返回1,否则返回0 日期函数 这个要稍微注意一下参数, ...
- c/c++链队列
链队列 链队列就是简化了的单链表 nodequeue.h #ifndef __NODEQUEUE__ #define __NODEQUEUE__ #include <stdio.h> #i ...
- iOS图片存在本地、再从本地获取图片
图片存在本地.再从本地获取图片 //将图片保存到本地 + (void)SaveImageToLocal:(UIImage*)image Keys:(NSString*)key { NSUser ...
- Win10 使用笔记
前言 记录我在使用过程的一些笔记,本文所写内容,基于笔者所使用的两款win10操作系统: win10 x64 企业版 (1607) win10 x64 专业版 (1703) Win10 五笔输入法 使 ...
- linux远程目录共享
一.环境介绍 1.服务器说明: 有两台服务器,(1)101报表服务器,上面是tomcat跑的原生FineReport报表系统,(2)103业务服务器,上面是具体的业务系统. 2.需求说明: 报表文件由 ...
- 【工具大道】使用SSH远程登录Mac 电脑
本文地址 一.打开ssh Mac Terminal是自带SSH的,可以用whereis来看看: $ whereis ssh 但是在现有进程中找不到ssh对应的进程: $ ps aux | grep s ...
- MySQL 初识别语句,数据库、表、行的增删改查
一.MySQL 开场语句 1.登陆 mysql -u root -p ; #回车然后输入密码 2.退出 eixt | quit #二者选其一 3.查看数据文件路径(配置文件中学习的) show glo ...
- 处理HTML5新标签的浏览器兼容问题
<!--[if lt IE 9]> <script type="text/javascript" src="js/html5shiv.js"& ...
- A - 畅通工程续 最短路
某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多.这让行人很困扰. 现在 ...