Python作业记录

复制过来的代码的换行有问题,但是也不是什么大问题。

后续我会进行补充和修改。

请将如下英文短句根据单词切分成列表:

'The continent of Antarctica is rising. It is due to a geological phenomenon called post-glacial uplift'

并在切分好的列表中找到长度最长的单词。

def changDu(t):

return len(t)

Jvzi='The continent of Antarctica is rising. It is due to a geological phenomenon called post-glacial uplift'

P=Jvzi.split()

P.sort(key=changDu,reverse=1)

print(P[0])

设置列表L1 = [1, 2, 3, 11, 2, 5, 3, 2, 5, 33, 88]

取出列表中最大的三个值。

L1 = [1, 2, 3, 11, 2, 5, 3, 2, 5, 33, 88]

L2 = [] #放最大的三个数

L3 = L1.copy() #备份

L4 = [] #存放原顺序的L1但是没有L2

L1.sort()

num=3

while num>0:

num-=1;

L2.append(L1.pop())

for x in L3:

if( x not in L2):

L4.append(x)

L1 = L4.copy()

print(L1)

print(L2)

将('a', 'b', 'c', 'd', 'e') 和 (1,2, 3, 4, 5)两个元组

转成以(1, 2, 3, 4, 5)为key, ('a', 'b', 'c', 'd', 'e') 为value的字典。

a=('a', 'b', 'c', 'd', 'e')

b=(1,2, 3, 4, 5)

c=zip(a,b)

print(dict(c))

计算字典中值为偶数的键的总和

已知字典sample_dict = {'a': 3, 'b': 4, 'c': 5, 'd': 6}

计算字典中值为偶数的键的总和。

sample_dict = {'a': 3, 'b': 4, 'c': 5, 'd': 6}

num=0;

for p in list(sample_dict.values()):

if(p%2==0):

num+=1

print(num)

编写一个函数max_element,含有一个参数sqc作为形参传入某序列对象,函数会获取序列中元素的最大值。如果序列是字典类型,则取字典对应键的值中的最大值。

完成函数定义后,测试如下3种序列:lst = [-5, 3, -1, -9, 7];s = 'XiaoheiziiKun';d = {'鸣人':59, '佐助': 95, '小樱':90, '小李': 80}

def max_element(sqc):

if(type(sqc).__name__=='dict'):#加这个点杠杠name杠杠很重要用于获取类型名

list = sqc.values()

return max(list)

else:

list = sqc

return max(list)

if __name__ == '__main__':

lst = [-5, 3, -1, -9, 7]

s = 'XiaoheiziiKun'

d = {'鸣人':59, '佐助': 95, '小樱':90, '小李': 80}

print(max_element(lst))

print(max_element(s))

print(max_element(d))

编写一段代码,来对列表中偶数位置的数字实现乘方运算,再对得到的新列表求和,要求使用 map 函数与 lambda 函数完成。

lst = [1, 3, 5, 7, 9, 11, 13]

def hello(list1):#对列表偶数位乘方然后将其组合成新列表并返回新列表的和

list2=[]

a=True#为什么我这里用个a而不是判断index%2是否==0呢?我是为了防止列表中有重复的情况

for aaa in list1:

if a:

list2.append(aaa)

a = not a

list3=list(map(lambda x:x**2,list2))

return sum(list3)

if __name__ == '__main__':

lst = [1, 3, 5, 7, 9, 11, 13]

print(hello(lst))

利用递归函数调用方式,将所输入的字符,以相反顺序打印出来。

def hello(st):

if(len(st)<=1):#结束递归< p="">

print(st)

else:

print(st[-1:],end='')

st=st[:-1]

hello(st)

if __name__ == '__main__':

s="1234567"

hello(s)

定义一个汽车类Car,使用__init__方法完成属性赋值,类中具有属性:颜色color、零百加速acc0100、品牌型号brandtype,并在类中定义一个run方法,使该方法打印输出该辆车的零百加速时间“xxx颜色的xxx零百加速时间为xxx秒”。

并利用Car类实例化两个对象,白色white的Audi_RS7零百加速3.4,以及蓝色blue的BMW_M4零百加速3.9。然后分别调用run方法打印出属性值。

class Car():

'''汽车类'''

def __init__(self,color,acc0100,brandtype):

#颜色color、零百加速acc0100、品牌型号brandtype,

self.color=color

self.acc0100=acc0100

self.brandtype=brandtype

def run(self):

print("{1}牌{0}色的汽车,零百加速时间为{2}秒,".format(self.color,self.acc0100,self.brandtype))



if __name__ == '__main__':

car1=Car("白","Audi_RS7",3.4)

car2=Car("蓝","BMW_M4",3.9)

car1.run()

car2.run()

定义一个Point类,用init赋值自身属性x,y。再定义三个方法用于显示坐标location、移动坐标moveto、计算与某一点的距离distance。

location直接显示该的坐标。

moveto传入两个参数ax,ay表示移动后的位置坐标,再打印出移动后的坐标点。

distance用于计算与某点的距离,传入两个参数tx,ty表示另一点的坐标,再打印计算后两点间的距离。注意,两点间的距离用欧氏距离定理计算,即

,可以使用math标准库中的sqrt实现。

定义完成后,设置A点(9, 13),B点(20, 24),后把A点移动至(15, 19),再计算它与B点之间的距离。

from math import sqrt

class Point():

'''点类'''

def __init__(self,x,y):

#有x和y坐标还要有三个方法:显示坐标,移动坐标,计算两点间距离

self.x=x

self.y=y

def location(self):

print("(",self.x,",",self.y,")",sep="")

def moveto(self,ax,ay):

self.x=ax

self.y=ay

def distance(self,tx,ty):

value=sqrt((self.x-tx)**2+(self.y-ty)**2)

print(value)



if __name__ == '__main__':

A=Point(9,13)

print("A:",end="")

A.location()

B=Point(20,24)

print("B:",end="")

B.location()

A.moveto(15,19)

print("A:",end="")

A.location()

print("两点间的距离是:",end="")

A.distance(B.x,B.y)

继承练习:

定义银行卡类Bank:自身属性赋值卡号numID、密码pwd、姓名name、余额balance。方法:取款withdraw,暂不设置方法内容,用pass代替

子类1:

    本行卡This_Bank,拥有方法1:取款withdraw复写父类方法,传入金额amount,相应在方法中减少余额balance,并打印输出余额。

                                        方法2:转账transfer,同样传入金额amount,相应在方法中减少余额balance,并在转入账户中增加相应金额,并打印输出本卡余额。

子类2:

    它行卡: 与本行卡拥有相同的两个方法,但是由于跨行需收取手续费,因此在所有的取款和转账行为中都收取2元手续费。

创建实例card1和card2。

card1设置为本行卡,卡号202401,密码123,持卡人Jay,余额10000。

card2设置为它行卡,卡号202402,密码321,持卡人Eason,余额9000。

card1取款5000,card2给card1转账3000.

class Bank():

'''银行卡类(不会实例化这个的)'''

def __init__(self,numID,pwd,name,balance):

#四个属性,一个方法

self.numID=numID

self.pwd=pwd

self.name=name

self.balance=balance

def withdraw(self):

pass

class This_Bank(Bank):

'''银行卡子类1'''

def withdraw(self,amount):

self.balance-=amount

print("取了",amount,"余额还剩:",self.balance)

def transfer(self,amount,other):

self.balance-=amount

other.balance+=amount

print("给",other.name,"转了",amount,"余额还剩: ",self.balance,sep="")

class That_Bank(This_Bank):

'''银行卡子类2'''

def withdraw(self,amount):

self.balance-=2

super().withdraw(amount)

def transfer(self,amount,other):

self.balance-=2

super().transfer(amount,other)

if __name__ == '__main__':

#实际上我有个疑问,在C++中有的父类就会有纯虚函数之类的来限制和规范子类,像这题里边的Bank类中的withdraw是否也有相似的作用呢?

card1=This_Bank(202401,123,"Jay",10000)

card2=That_Bank(202402,321,"Eason",9000)

card1.withdraw(5000)

card2.transfer(3000,card1)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/910546.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pdmaner连接sqlexpress

别以为sqlserver默认的端口总是1433 案例 有台sqlserver2008 express服务器&#xff0c;刚安装&#xff0c;支持混合模式登录&#xff0c;其它什么配置也没改。 先看用ADO连接 这说明&#xff1a; 案例中sqlserver端口不是1433 &#xff01;&#xff01;&#xff01;ADO连接…

轻型民用无人驾驶航空器安全操控------理论考试多旋翼部分笔记

官网&#xff1a;民用无人驾驶航空器综合管理平台 (caac.gov.cn) 说明&#xff1a;一是法规部分&#xff1b;二是多旋翼部分 本笔记全部来源于轻型民用无人驾驶航空器安全操控视频讲解平台 目录 官网&#xff1a;民用无人驾驶航空器综合管理平台 (caac.gov.cn) 一、轻型民用无人…

二叉树相关习题

题目&#xff1a;100. 相同的树 - 力扣&#xff08;LeetCode&#xff09; 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1&#xff1a; …

阅读笔记记录

论文作者将对话建模成一个seq2seq的映射问题&#xff0c;该seq2seq框架以对话历史数据&#xff08;通过belief tracker建模&#xff09;和数据库查询结果&#xff08;通过Database Operator得到结果&#xff09;作为支撑。 Abstract 教会机器完成与人自然交流的任务是充满挑战…

测试分层:减少对全链路回归依赖的探索!

引言&#xff1a;测试分层与全链路回归的挑战 在软件开发和测试过程中&#xff0c;全链路回归测试往往是一个复杂且耗费资源的环节&#xff0c;尤其在系统庞大且模块众多的场景下&#xff0c;全链路测试的集成难度显著提高。而“测试分层”作为一种结构化的测试方法&#xff0…

融合虚拟化与容器技术,打造灵活又安全的AI算力服务

随着人工智能技术的不断进步&#xff0c;AI企业在迅速推进大模型业务时&#xff0c;往往会倾向于采用容器化的轻量部署方案。相较于传统的虚拟机部署&#xff0c;容器化在快速部署、资源利用、环境一致性和自动化编排等方面具备显著优势。 然而&#xff0c;容器技术所固有的隔…

协程3 --- golang的协程调度

文章目录 单进程时代多进程/线程时代协程时代内核级线程模型&#xff08;1&#xff1a;1&#xff09;用户级线程模型&#xff08;N&#xff1a;1&#xff09;两级线程模型CMP&#xff08;M&#xff1a;N&#xff09;GM模型 GMP模型 单进程时代 描述&#xff1a;每一个程序就是一…

微服务透传日志traceId

问题 在微服务架构中&#xff0c;一次业务执行完可能需要跨多个服务&#xff0c;这个时候&#xff0c;我们想看到业务完整的日志信息&#xff0c;就要从各个服务中获取&#xff0c;即便是使用了ELK把日志收集到一起&#xff0c;但如果不做处理&#xff0c;也是无法完整把一次业…

【原创】java+ssm+mysql收纳培训网系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

apache poi 实现下拉框联动校验

apache poi 提供了 DataValidation​ 接口 让我们可以轻松实现 Excel 下拉框数据局校验。但是下拉框联动校验是无法直接通过 DataValidation ​实现&#xff0c;所以我们可以通过其他方式间接实现。 ‍ 步骤如下&#xff1a; 创建一个隐藏 sheet private static void create…

Linux权限概念 | 权限修改

文章目录 1.Linux的权限概念2.Linux权限管理3.文件访问权限的相关设置方法 1.Linux的权限概念 Linux下有两种用户&#xff1a;超级用户&#xff08;root&#xff09;和普通用户。对应root用户而言&#xff1a;可以在Linux系统下做任何事情&#xff0c;不受限制。而普通用户&am…

题目练习之二叉树那些事儿(续集)

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ 这一篇博客我们继…

删除MacOS下PowerPoint烦人的加载项

起因 最近要写论文&#xff0c;需要插入很多公式&#xff0c;利用自带的吧&#xff0c;太过繁琐&#xff0c;每次插入都需要点击插入-公式-符号&#xff0c;然后头脑发热想用下本科写论文时用过的MathType&#xff0c;结果这货现在要收费了&#xff0c;新版本只能适用30天&…

清华双臂机器人扩散大模型RDT:先预训练后微调,支持语言、图像、动作多种输入(1B参数)

前言 通过上文介绍的GR2&#xff0c;我们看到了视频生成模型在机器人训练中的应用 无独有偶&#xff0c;和GR2差不多一个时期出来的清华RDT&#xff0c;其模型架构便基于视频生成架构DiT改造而成(当然&#xff0c;该清华团队其实也在DiT之前推出了U-ViT&#xff0c;具体下文会…

Linux下GCC编译器的安装

Linux下GCC编译器的安装 以下所有的版本都可以在https://gcc.gnu.org/pub/gcc/infrastructure/这里找最新的 通过apt-get方式下载的Qt5.9的gcc编译器版本只是4.8.3&#xff0c;无法打开一些Qt5的库头文件&#xff0c;所以准备在Llinux下再安装一个gcc5.3.0。 查看gcc版本 ubu…

qt相关知识

lineEdit中的一些知识 首先我要设置lineEdit中的文本怎么操作 ui->lineEdit->setText(); 如何给窗口设置名字 this->setWindowTitle("计算器"); 如何给按钮设置我们的图片 QIcon ic("图片地址")&#xff1b; ui->button->setIcon(ic…

使用官网tar包制作OpenSSL及OpenSSH rpm包进行升级安装(OpenSSH_9.9p1, without OpenSSL未解决)

一、制作openssl-1.1.1w.rpm包 1、安装基础依赖包和rpmbuild及其依赖包 yum install curl which make gcc perl perl-WWW-Curl rpm-build rpm-build rpmdevtools tree -y yum install gcc-c glibc glibc-devel openssl openssl-devel \pcre-devel zlib zlib-devel perl…

WAL日志

1.WAL概述 PG WAL&#xff08;Write-Ahead Logging&#xff09;日志是PostgreSQL数据库中的一种重要机制&#xff0c;用于保证数据库的完整性和数据恢复。 1.1定义与功能 WAL日志是PostgreSQL的持久性技术&#xff0c;它将所有对数据库的修改操作&#xff08;如INSERT、UPDA…

开放寻址法、链式哈希数据结构详细解读

一、开放寻址法&#xff08;Open Addressing&#xff09; 1. 定义 开放寻址法是一种哈希冲突解决策略&#xff0c;所有元素都存储在哈希表中。当发生冲突时&#xff0c;即两个键计算出的哈希值相同时&#xff0c;会按照一定的探查序列查找下一个可用的位置来存储新元素。 2.…