学习目标:
- 作业66,69,71,84;85(搞错了写多了)
- 数据类型:
-
int()
float()
布尔类型(boolean
):True
False
0为假,1为真
-
str()
-
list()--切片
-
set()
-
tuple()
- dict()
-
class
-
内置函数
-
切片
-
公共运算符
学习内容:
- 作业66,69,71,84,85
-
int()
float()
布尔类型(boolean
):True
False
0为假,1为真
str()
list()--切片
set()
dict()
tuple()class
-
内置函数
-
切片
-
公共运算符
1.作业
66
import math
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(math.sqrt(num)) + 1):
if (num % i) == 0:
return False
return True
def find_double_primes(end):
double_primes = []
count = 0
i=2
while count<end+1:
if is_prime(i) and is_prime(i + 2):
double_primes.append((i, i + 2))
count += 1
i+=1
return double_primes
69
def main():
ssn = input("请输入您的社会安全号码 (格式: ddd-dd-dddd): ")
if validate_ssn(ssn):
print("Valid SSN")
else:
print("Invalid SSN。")
def validate_ssn(ssn):
import re
ssn_pattern = r"^\d{3}-\d{2}-\d{4}$"
return bool(re.match(ssn_pattern, ssn))
if __name__ == "__main__":
main()
71
def find_(str1,str2):
return True if str1==str2 else False
a=input("字符串1:")
b=input("字符串2:")
print(find_(a,b))
84
def find_gcd_of_list(numbers):
result = numbers[0]
for number in numbers:
result = gcd(result, number)
return result
def gcd(a, b):
while b!=0:
a, b = b, a % b
return a
print(find_gcd_of_list([5,10]))
85
def isSorted(lst):
for i in range(len(lst) - 1):
if lst[i] > lst[i + 1]:
return False
return True
def test_isSorted(lst):
return "这个列表已经排好序了。" if isSorted(lst) else "这个列表没有排好序。"
print(test_isSorted([4,5,6]))
2.数据类型
int()
float()
布尔类型(boolean
):True
False
0为假,1为真
str()
list()
set()
tuple()
dict()
class
(1)str()
type(a)
num1 = input("请输入一个整数:")
num2 = input("请输入一个整数:")
res = num1 + num2
print("两个数之和是:" + res)
print(res)
input()--str
"我有一个" + "苹果"
#*---int
#/---int
#&---int
#//---float
#1.23+.56(float)
#>>>5.789999999999999
#type(变量)
##input--str
#str()
#True,False
#return--==是判断,判断返回true,fales
字符串对象常见的方法:
~~~python
'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill'
capitalize():首字母大写 返回新的字符串
center() :居中对齐
count() :同级元素的个数
endswith():判断字符串是否以什么结尾.返回的是布尔值
startswith():是否以……开始
find(查找的字符,【检索开始的下标,检索结束的下标】):从左到右检索某个字符或字符串,找到第一个满足的字符或字符串,并且返回下标
find()如果未检索到,最终会返回-1
index()
未检索到,直接报错
rfind():从右边向左边进行检索
'rindex'
format():格式化字符串的
join():按照特定的规则进行字符串的拼接
split()按照特定的字符串进行分割,最终返回的是一个列表
upper():转大写
lower():转小写
strip():清除字符串两边的空格的
lstrip()清除左边的空格
rstrip()清除右边的空格
title() 标题格式(每个单词的首字母大写)
replace(old,new)返回一个新的字符串
encode():转换编码格式,将字符串转换为字节
decode():将字节转换为对应的编码
(2) list()
列表的常见方法:
['add', 'class', 'class_getitem', 'contains', 'delattr', 'delitem', 'dir', 'doc', 'eq', 'format', 'ge', 'getattribute', 'getitem', 'getstate', 'gt', 'hash', 'iadd', 'imul', 'init', 'init_subclass', 'iter', 'le', 'len', 'lt', 'mul', 'ne', 'new', 'reduce', 'reduce_ex', 'repr', 'reversed', 'rmul', 'setattr', 'setitem', 'sizeof', 'str', 'subclasshook', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
增:
append() :向列表的尾部追加元素
~~~
>>> list1 = []
>>> list
<class 'list'>
>>> list1
[]
>>> list1.append("zhangsan")
~~~
insert(下标,添加的元素)
~~~
>>> list1.insert(1,"huazhu")
>>> list1
['wangmazi', 'huazhu', 'zhangsan', 'lisi']
~~~
列表1.extend(列表2) :合并列表的 列表2的数据合并给列表1
~~~
>>> list2 = [1,2,3]
>>> list1.extend(list2)
>>> list1
['wangmazi', 'huazhu', 'zhangsan', 'lisi', 1, 2, 3]
~~~
删除:
remove(元素)
pop()通过下标删除元素 不给参数时,删除的是最后一位 -1 。会返回删除的元素
~~~
>>> aa
['z', 'n', 'g', 's']
>>> aa.pop()
's'
>>> aa.pop(1)
'n'
>>> aa
['z', 'g']
>>> n =aa.pop()
>>> n
~~~
clear():清空列表里的数据
查:
index(元素)获取匹配到的第一个元素的索引下标
index(元素,start) 从start下标开始查找
~~~
>>> aa = [1,2,3,4,3,2,1]
>>> aa
[1, 2, 3, 4, 3, 2, 1]
>>> aa.index(2)
1
>>> aa.index(2,3)
5
>>>
~~~
count(元素):计数
copy():拷贝 浅拷贝
~~~
[]
>>> a = [1,2,3,4]
>>> a
[1, 2, 3, 4]
>>> c = a.copy()
>>> c
[1, 2, 3, 4]
>>> a.append("zhangsan")
>>> a
[1, 2, 3, 4, 'zhangsan']
>>> c
~~~
reverse() :反转
sort(reverse=True))
下标:某一个元素
切片:拿到多个有序的元素
可以对标range
[start:end : step]:
start:不写的情况下,默认从下标为0的地方开始切片
取左不取右
end:不写的情况下,默认直接切片到所有元素结束
step:不写的情况下默认为1
切片切不到时,只会无返回,不会进行报错
print(str1[1:6:-1]):start = 1 end = 6 表明切片方向是从左向右,但是,step采用-1,是表明从右向左切
(3)set()
底层基于哈希表实现的:不能重复,无序
set()
{1,2,3,4}
集合无法进行访问的----无序的
len()
集合遍历:
for
~~~
>>> for i in set2:
... print(i)
...
1
2
3
4
zhangsan
~~~
集合常见的方法:
'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update'
add(元素)
pop():任意一个元素被移除
remove(元素)
discard(元素) 区别:要移除的元素不存在时,discard()不会进行报错
intersection():交集
~~~python
>>> set1.union(set2) #并集
{1, 4, 5, 7}
>>> set1.difference(set2) #差集
{5}
~~~
(3)tuple()
不可变数据类型。有序的
(1,2,3,4)
tuple()
访问:元组名[元祖下标]
len(元组名)
~~~
>>> tu3.count(3)
1
>>> tu3.index(3)
2
~~~
如果一个元组只有一条数据,那么需要在这条数据后面加上逗号
~~~
>>> tu4 = ("zhangsan",)
>>> type(tu4)
<class 'tuple'>
~~~
元组中元素存在可变数据类型,那么更改可变数据类型中的元素不会报错
~~~python
tu = (1, 2, 3, 4, ["zhangsan", 1, 2, 3])
tu[-1][0] = "woshigenggaiguode"
print(tu)
~~~
(4)dict()
{}
dict()
dict1 = {"uname":"zhangsan","age":21,1:21,"sex":"nan"}
查找数据:
字典名["键名"]
dict1["school"] = "huazhu" 存在,则进行覆盖,不存在,则进行添加
len()
key:value
'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values'
get(key,默认不存在时返回):通过key获取值的
keys():获取所有的键
values():获取所有的值
setdefault():添加键值对
del 要移除的项 可以删除任何的变量
dict1.fromkeys((1,2,3,4)):创建key值为1,2,3,4的字典,键值为none
删除:
pop():通过key删除键值对
items():返回键值对
update()
遍历:
for
内置函数
所谓内置函数,是指Python中无需调用任何模块,即可直接使用的函数。
len(变量A)函数,返回变量A的长度(变量A中元素的个数)。
del(变量A)函数,删除变量A。del还可以作为关键字来使用,如:del A。
max(变量A)函数,返回变量A中元素的最大值。如果是字符串,按照字符的ASCII码进行比较;如果是数字列表,按值的大小进行比较;如果是字符串列表,按字符串首字符ASCII码进行比较;元组与列表一样;对于字典,则比较key的大小。
min(变量A)函数,返回变量A中元素的最小值。如果是字符串,按照字符的ASCII码进行比较;如果是数字列表,按值的大小进行比较;如果是字符串列表,按字符串首字符ASCII码进行比较;元组与列表一样;对于字典,则比较key的大小。
注意:对于字符比较,符合规则’0’<‘A’<‘a’。
切片操作
对于有序的数据类型,包括字符串、列表、元组,都可以进行切片操作,具体见前面字符串的切片。
公共运算符
+,对于列表、元组、字符串,可以通过运算符+进行拼接,如’a’+‘b’=‘ab’,[1,2]+[3,4]=[1,2,3,4];
*,对于列表、元组、字符串,可以通过运算符*进行倍乘拼接,如’a’*2=‘aa’;
in,成员运算符,可以判断某个元素是否在变量之中,在返回true,不在返回false,对列表、元组、字典、字符串都适用;当面对字典时,判断的是key;
not in,成员运算符,可以判断某个元素是否不在变量之中,不在返回true,在返回false;对列表、元组、字典、字符串都适用;当面对字典时,判断的是key;
注意:对于列表而言,+运算符是返回一个新的列表,而.extend()方法是在原列表的基础上扩充,无返回值;另外.append()方法是将括号内的变量作为一个元素添加到原列表中。如[1, 2].append([3, 4])的结果是[1, 2, [3, 4]]。
......未完end
学习时间:
学习时间为不运动的时候,作者咕咕了是去运动(无氧运动和有氧运动都做最好)了,请饶恕。
学习产出:
画工
python--1作业,注释、输入输出、运算符、运算结果、三目运算符、关系表达、多值交换、偶数、随机数、三目运算、if、elif、else、while、for、break、contince、passhttp://t.csdnimg.cn/0KDeU
计算机网络第1章:计算机网络的概念、组成与功能;计算机网络的分类、标准化工作及相关组织
计算机网络第一章:性能指标:带宽、时延、时延带宽积、RTT、吞吐量、速率、信道利用率
计算机网络体系结构——PDU、SDU、PCI、协议、访问、接口、SAP
计算机网络分层结构——OSI/ISO、TCP/IP http://t.csdnimg.cn/hLrqY
2章选择、解答 http://t.csdnimg.cn/ONrER
通信基本概念:数据、信号、码元、信源、信道、信宿、速率、波特、带宽 http://t.csdnimg.cn/TKnyM
数据、信号、码元、信源、信道、信宿、速率、波特、带宽-通信基本概念
HCIA——30奈奎斯特定理、香农定理 http://t.csdnimg.cn/Yqtch
应用层:C/S、P2P、peer http://t.csdnimg.cn/4i4Og
C/S、P2P、peer的选择
DNS层次域名空间、域名服务器、域名解析的原理 http://t.csdnimg.cn/yeWd6
HCIA——23DNS层次域名空间、域名服务器、域名解析的原理的选择、解答 http://t.csdnimg.cn/RXPNV
HCIA——24FTP 的工作原理、功能、TFTP、控制连接、数据连接
HCIA——25FTP 的工作原理、功能、TFTP、控制连接、数据连接的选择、解答
HCIA——26E-mall、MIME、POP3、IMAP、电子邮件系统的组成结构、电子邮件的发送,接收过程、MIME 与SMTP 的关系 http://t.csdnimg.cn/smTaR
HCIA——27E-mall、MIME;POP3、IMAP的选择,解答 http://t.csdnimg.cn/xnsXP
HCIIA——28HTTP、万维网、HTML;万维网的工作过程;HTTP 的特点——无连接-TCP、无状态-Cookie、非持久连接-非流水线和流水线;HTTP 的报文结构 http://t.csdnimg.cn/cRcxY
- 技术笔记 1遍
- 有错误请指出,作者会及时改正