练习1:输入三个整数x,y,z,请把这三个数由小到大输出。 #程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换, 然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。
list1 = []
for i in range(3):
list1.append(input('请输入整数:\n'))
list1.sort(reverse=True)
"""
sort()方法语法:
list.sort( key=None, reverse=False)
-- key -- 主要是用来进行比较的元素,只有一个参数,
具体的函数的参数就是取自于可迭代对象中,
指定可迭代对象中的一个元素来进行排序
-- reverse -- 排序规则,reverse = True 降序,
reverse = False 升序(默认)。
"""
print(list1)
练习2:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,# 加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,# 再将第一位和第四位交换,第二位和第三位交换。#输入的这四个数字,经过算法之后,得出最后结果输出
list1 = []
list2 = []
for i in range(4):
list1.append(input('请输入数字:\n'))
print(list1)
ni = int(list1[i])
ni += 5
ni %= 10
list2.append(ni)
# ::取全部,-1表示倒序
print(list2[::-1])
练习3:定义函数,函数实现的功能是输出"hello world" 利用修饰器增加功能,传递新的参数为你在控制台输入的内容,在hello World 下方输出你传入的参数 注:使用函数文档,表明此修饰函数调用的过程以及各个函数所代表的功能
def decorator(new_func):
def inner(name=input('please input name:')):
# 这里才是真正的调用hello_word
new_func()
print(name)
# 注意返回函数,返回函数的名字,如果加()等于调用这个函数
return inner
@decorator
def hello_word():
print('hello world!')
#这里调用的是decorator
hello_word()
练习4:编写程序, 编写一个学生类, 要求有一个计数器的属性, 统计总共实例化了多少个学生.
class Student(object):
__count = 0
def __init__(self,name,age):
self.name = name
self.age = age
Student.__count += 1
@staticmethod
def tell_count():
print('总共实例化了{}个学生'.format(Student.__count))
student1 = Student('zs',19)
student2 = Student('ls',20)
Student.tell_count()
练习5:模仿王者荣耀定义两个英雄类
要求:英雄需要有昵称、攻击力、生命值等属性;实例化出两个英雄对象;
英雄之间可以互殴,被殴打的一方掉血,血量小于0则判定为死亡(提示:这里是函数)
class Hero(object):
def __init__(self,nikname,aggresivity,life_score):
self.nikname = nikname
self.aggresivity = aggresivity
self.life_score = life_score
def attact(self,enemy):
# enemy 被殴打的英雄的血量
# self.aggresivty 打人的英雄的攻击力
enemy.life_score -= self.aggresivity
if enemy.life_score < 0:
print('die')
class Devid(Hero):
pass
class Hie(Hero):
pass
h1 = Devid('lala',30,100)
h2 = Hie('nene',20,90)
h1.attact(h2)
print(h1.life_score)#100
print(h2.life_score)#60
练习6定义一个学生类。有下面的类属性:1 姓名 str2 年龄 int3 成绩(语文,数学,英语)[每课成绩的类型为整数 list1 获取学生的姓名:get_name() 返回类型:str2 获取学生的年龄:get_age() 返回类型:int3 返回3门科目中最高的分数。get_course() 返回类型:int写好类以后,可以定义2个同学测试下:
class Student(object):
def __init__(self,name,age,score):
self.name = name
self.age = age
self.score = score
def get_name(self):
return self.name
def get_age(self):
return self.age
def get_score(self):
return max(self.score)
stu1 = Student('zhangming',20,[69,88,100])
print(stu1.get_age(),stu1.get_age(),stu1.get_score())
练习7:已知列表 info = [1,2,3,4,55,233],生成列表个数的线程对象,每次线程输出一个值,最后输出:“the end”
import threading
s = []
#线程执行的方法,
def func1(p):
print(p)
#创建线程的函数
def func2(info):
for i in range(len(info)):
# 创建线程
th = threading.Thread(target=func1,args=[info[i]])
# 启动线程
th.start()
# 将创建的线程装入数组
s.append(th)
for i in range(len(info)):
# 线程等待,等待指定进程执行完毕在执行后面的代码
s[i].join()
print('the end')
#列表的对象
info = [1,2,3,4,55,233]
func2(info)
以上题目基本都是python基础,但是自己的解题方法确还是停留在很low的表达方式,以后我一定要多学习大牛的编程思路,没想到程序可以这样玩!真的感觉自己简直就是学了皮毛!从今天起要更加刻苦,争取早日成为大牛!