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.资产扫描,以 位置:资产 格式保存到 ...
随机推荐
- 报错org.apache.hadoop.mapreduce.lib.input.FileSplit cannot be cast to org.apache.hadoop.mapred.FileSplit
报错 java.lang.Exception: java.lang.ClassCastException: org.apache.hadoop.mapreduce.lib.input.FileSpli ...
- Sql Full-Text Filter
SQL Server 全文索引介绍(转载) 概述 全文引擎使用全文索引中的信息来编译可快速搜索表中的特定词或词组的全文查询.全文索引将有关重要的词及其位置的信息存储在数据库表的一列或多列中.全文索引是 ...
- Python对文件的解压和压缩
zipfile: 解压: import os, zipfile serverzip_path = 'D:\\server.zip' serverzip_target_path = 'd:\\2' f ...
- NLog简单使用
一.安装 二.安装后会在根目录出现NLog.config配置文件,简单修改配置文件为写入文件记录日志: <?xml version="1.0" encoding=" ...
- 编译percona-server-locks-detail-5.7.22
yum install -y binutils compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgc ...
- visual Studio 中使用正则表达式来进行查找替换
1.打开visual Studio 2. 通过菜单Edit -->Find and Replace -->Replace In File ,或者使用 ctrl + Shift + H ...
- [Hive_3] Hive 建表指定分隔符
0. 说明 Hive 建表示例及指定分隔符 1. Hive 建表 Demo 在 Hive 中输入以下命令创建表 user2 create table users2 (id int, name stri ...
- Dos环境变量修改
批处理修改环境变量,修改用户变量.系统变量(全局变量),永久/临时设置环境变量.设置Java环境变量 临时环境变量 修改变量: set PATH=%Path%;%JAVA_HOME%\bin 含义:表 ...
- Python:import 与__import__()
首先来说一下两者的区别: import指令做了两件事:1)搜索module,2)绑定到局部变量 内置函数__import__()只做了一件事:搜索module import指令执行过程中是调用__im ...
- LeetCode算法题-Remove Linked List Elements(Java实现)
这是悦乐书的第189次更新,第191篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第48题(顺位题号是203).移除单链表中节点值为val的节点.例如: 输入:1-> ...