python(具体的训练答案)

用自定义函数代替原本的max函数的功能 

import random
s=pow(2,5)
print(s)#s=32
#pow代表2的五次方

def get_max(lst):
    x=lst[0]#x的存储的是元素的最大值
#遍历
    for i in range(1,len(lst)):
        if lst[i]>x:
            x=lst[i]
    return x
#调用
lst=[ random.randint(1,100) for item in range(10)]
print(lst)
#[43, 22, 92, 73, 28, 54, 17, 98, 74, 64]

max=get_max(lst)
print(max)#98

提取输入的数字,对数字列表化,然后进行累加 

import random
def get_digit(x):
    s=0#存储累加
    lst=[]#储存提取出来的数字
    for item in x:
        if item.isdigit():#如果是数字
            lst.append(int(item))
    #求和
    s=sum(lst)
    return lst,s

#准备函数的调用
s=input('请输入一个字符串:')
#调用
lst,x=get_digit(s)
print('提取出来的数字列表为:',lst)
print('累加和为:',x)

# 请输入一个字符串:world112233
# 提取出来的数字列表为: [1, 1, 2, 2, 3, 3]
# 累加和为: 12

将字母的大小写相互转化 

def lower_upper(x):
    lst=[]
    for item in x:
        if 'A'<=item<='Z':
            lst.append(chr(ord(item)+32))#ord()将字母转成Unicode码整数,加上32,chr()整数码转成字符串
        elif 'a'<=item<='z':
            lst.append(chr(ord(item)-32))
        else:
            lst.append(item)
    return''.join(lst)
#准备调用
s=input('请输入一个字符串:')
new_s=lower_upper(s)
print(new_s)

# 请输入一个字符串:HELLO123world123
# hello123WORLD123

实现操作符in的判断功能 


def get_find(s,lst):
    for item in lst:
        if s==item:
            return True
    return False
lst=['hello','world','python']
s=input('请输入您要判断的字符串:')
result=get_find(s,lst)
print('存在'if result else '不存在')#if……else的简写,三元运算符 if result==True if result 利用到对象的布尔值

# 请输入您要判断的字符串:world
# 存在
# 请输入您要判断的字符串:xx
# 不存在

class Student:
    #类属性:定义在类中,方法外的变量
    school='北京xxx教育'
    print(type(school))#定义在类里面所以属性不变

    #类属性初始化方法
    def __init__(self,xm,age):#xm,age是方法的参数,是局部变量,xm,age的作用域整个__init__方法
        #即xm,age只能在类里面使用,要想在其他地方使用需要定义类的实例属性
        self.name=xm #左例是实例属性,xm是局部变量,将局部变量的值xm赋值给实例属性self.name
        self.age=age #实例的名称和局部的可以相同
    #定义在类中的函数,称为方法,自带一个参数self
    def show(self):
        print(f'我叫:{self.name}.今年:{self.age}岁了')

    #静态方法
    @staticmethod
    def sm():
        # print(self.name )
        # self.show()
        #以上两处均报错了,
        print('原因是因为这是一个静态方法,不能调用实例属性,也不能调用实例方法')
    @classmethod
    def cm(cls):#cls-->class的简写
        #print(self.name)
        # self.show()
        print('这是一个类方法,不能调用实例属性,也不能调用实例方法')

#创建类的对象
stu=Student('xy','18')#为什么传了两个参数,因为__init__方法中,有两个形参,self.是自带的参数,无需手动传入
#实例属性,使用对象名进行打点调用的
print(stu.name,stu.age)
#类属性,直接使用类名,打点调用
print(Student.school)

#实例方法,使用对象名进行打点调用
stu.show()

#类方法,@classmethod进行修饰的方法,直接用类名打点调用
Student.cm()

# 静态方法 @staticmethod进行修饰的方法,直接使用类名打点调用
Student.sm()
class Student:
    #类属性:定义在类中,方法外的变量
    school='北京xxx教育'
    print(type(school))#定义在类里面所以属性不变

    #类属性初始化方法
    def __init__(self,xm,age):#xm,age是方法的参数,是局部变量,xm,age的作用域整个__init__方法
        #即xm,age只能在类里面使用,要想在其他地方使用需要定义类的实例属性
        self.name=xm #左例是实例属性,xm是局部变量,将局部变量的值xm赋值给实例属性self.name
        self.age=age #实例的名称和局部的可以相同
    #定义在类中的函数,称为方法,自带一个参数self
    def show(self):
        print(f'我叫:{self.name} 今年:{self.age}岁了')


s=Student('xy',18)
s2=Student('hh',20)
s3=Student('yy',21)
s4=Student('xx',23)
#等号的右侧都有Student

print(type(s))
print(type(s2))
print(type(s3))
print(type(s4))

Student.school='python education'

#将学生对象存储到列表中
lst=[s,s2,s3,s4] #列表中的元素是Student类型的对象
for item in lst: #item是列表中的元素,是Student类型的对象
    item.show()#对象名打点调用实例方法

# <class 'str'>
# <class '__main__.Student'>
# <class '__main__.Student'>
# <class '__main__.Student'>
# <class '__main__.Student'>
# 我叫:xy 今年:18岁了
# 我叫:hh 今年:20岁了
# 我叫:yy 今年:21岁了
# 我叫:xx 今年:23岁了

### Python 实战训练资源概述 对于希望提升Python编程技能的人来说,在线课程、项目练习以及书籍都是不可或缺的学习资源。一套完整的自学材料不仅能够提供理论指导,还能通过实践操作加深理解和应用能力。 #### 在线课程推荐 在线平台提供了丰富的Python教学内容,适合不同层次的学习者。例如,有专门针对初学者的基础视频教程[^1],也有面向有一定经验开发者的技术深化类目。这类课程通常会覆盖从环境搭建到具体功能实现的过程讲解,使学员能够在跟随讲师的步伐中逐步掌握所需技巧。 #### 项目练习资源 为了巩固所学知识并积累实战经验,参与实际项目的开发是非常重要的环节之一。为此准备了一系列的练手题目集锦,如30道Python练手题(附详细答案),这不仅是新手小白必备的项目学习资源[^3],而且每一道习题都经过精心设计,旨在锻炼解决问题的能力的同时熟悉常见的编码模式与最佳实践方法。 #### 推荐阅读书单 除了动手之外,静下心来研读经典著作同样有助于构建坚实的理论框架。整理了一份包含51本电子书籍在内的资料包,其中不乏行业内的权威之作,它们深入浅出地解析了各种高级特性及其背后的原理,无论是作为入门引导还是进阶参考资料都非常合适。 ```python # 示例:利用pandas库处理数据,这是许多Python书籍和在线课程都会涉及的内容 import pandas as pd data = {'Name': ['Alice', 'Bob'], 'Age': [25, 30]} df = pd.DataFrame(data) print(df) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值