python--2作业66,69,71,84;85;数据类型:int()float()TrueFalsestr()list()set()dict()tuple()class、内置函数、切片、公共运算符

学习目标:

  • 作业66,69,71,84;85(搞错了写多了)
  • 数据类型:
  • int()
    float()
    布尔类型(boolean):
    True
    False

    0为假,1为真

  • str()

  • list()--切片

  • set()

  • tuple()

  • dict()

  • class

  • 内置函数

  • 切片

  • 公共运算符


学习内容:

  1. 作业66,69,71,84,85
  2. int()
    float()
    布尔类型(boolean):
    True
    False

    0为假,1为真

    str()

    list()--切片
    set()
    dict()
    tuple()

    class

  3. 内置函数

  4. 切片

  5. 公共运算符

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章:计算机网络的概念、组成与功能;计算机网络的分类、标准化工作及相关组织

                                                                                                       http://t.csdnimg.cn/uZOAM

计算机网络第一章:性能指标:带宽、时延、时延带宽积、RTT、吞吐量、速率、信道利用率

                                                                                                                                                                                                                           http://t.csdnimg.cn/avNeb

计算机网络体系结构——PDU、SDU、PCI、协议、访问、接口、SAP

                                                                                                          http://t.csdnimg.cn/x3Uar

 计算机网络分层结构——OSI/ISO、TCP/IP                                                                                                                                                   http://t.csdnimg.cn/hLrqY

 1章选择                                                                                          http://t.csdnimg.cn/cnmdJ

2章选择、解答                                                                                http://t.csdnimg.cn/ONrER

   通信基本概念:数据、信号、码元、信源、信道、信宿、速率、波特、带宽                                                                                                        http://t.csdnimg.cn/TKnyM

 数据、信号、码元、信源、信道、信宿、速率、波特、带宽-通信基本概念

                                                                                                         http://t.csdnimg.cn/Kc2e3

HCIA——30奈奎斯特定理、香农定理                                              http://t.csdnimg.cn/Yqtch

应用层:C/S、P2P、peer                                                                                                                                                                                       http://t.csdnimg.cn/4i4Og

C/S、P2P、peer的选择     

                                                                                                                                                                                                                          http://t.csdnimg.cn/4a11f                                                                

 DNS层次域名空间、域名服务器、域名解析的原理                        http://t.csdnimg.cn/yeWd6

 HCIA——23DNS层次域名空间、域名服务器、域名解析的原理的选择、解答                                                                                                                              http://t.csdnimg.cn/RXPNV 

 HCIA——24FTP 的工作原理、功能、TFTP、控制连接、数据连接

                                                                                                                                                                                                                    http://t.csdnimg.cn/9TPlw

HCIA——25FTP 的工作原理、功能、TFTP、控制连接、数据连接的选择、解答 

                                                                                                    http://t.csdnimg.cn/8GkAU

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遍
  • 有错误请指出,作者会及时改正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值