Python
列表
#列表
names=["xuefeng","jifeng","daofeng","tianjinfeng"]
print(names[0])
l1=names[1:3]#index从1到3 不包含3
l2=names[:3]#输出index为3以前所有的
l3=names[1:]#输出包括index为1以后的
print(l1)#['jifeng', 'daofeng']
print(l2)#['xuefeng', 'jifeng', 'daofeng']
print(l3)#['jifeng', 'daofeng', 'tianjinfeng']
names[1]="yingfeng"#修改
names.append("jifeng")#添加
names.insert(0,"guofeng")#插入
print(names)#['guofeng', 'xuefeng', 'yingfeng', 'daofeng', 'tianjinfeng', 'jifeng']
del(names[0])#删除
print(names)#['xuefeng', 'yingfeng', 'daofeng', 'tianjinfeng', 'jifeng']
del names[1]#删除
print(names)#['xuefeng', 'daofeng', 'tianjinfeng', 'jifeng']
names.remove("jifeng")#如果有相同的字段,则只会移除index小的那个字段
print(names)#['xuefeng', 'daofeng', 'tianjinfeng']
#列表 排序
print(names.pop(-2))#prp方法把数据弹出 daofeng
names.sort()#sort方法排序 对于字母先大写后小写 数字就按照大小 中文并没有排序
print(names)#['tianjinfeng', 'xuefeng']
names.sort(reverse=True)#设置为倒序排序 sort是永久排序 会对原列表进行改变
print(names)#['xuefeng', 'tianjinfeng']
newList=sorted(names)#sorted是临时排序 会返回一个列表 原列表并没改变
print(newList)#['tianjinfeng', 'xuefeng']
names.reverse()#reverse是对列表进行反转
print(names)#['tianjinfeng', 'xuefeng']
score=[1,2,3,4,5,6,7]
names.append(score)
print(names[2])#[1, 2, 3, 4, 5, 6, 7]
print(names.index("xuefeng"))#1查找指定名字的下标
#多维列表
names1=[ ["pekelimu","kailu","kekeluo"],["","",""],[] ]
print(names1[0][1])
#列表复制操作
##newList=newL[:]#修改newList的数据不影响newL
##newList2=newL#newList2和newL都指向相同的地址 修改newList2同时也改变newL
#列表合并
ll1=["pekelimu","kailu","kekeluo"]
ll2=["qiange","wang","fangxi"]
ll1.extend(ll2)
##ll1 +=ll2
print(ll1)#['pekelimu', 'kailu', 'kekeluo', 'qiange', 'wang', 'fangxi']
#数字列表
l=list(range(1,21,2))#range生成的数字只包含前面不包含后面的数字 list转换为列表
print(l)#[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
newL=[]
for t in range(1,11):
newL.append(t**2)#转换为平方
print(newL)#[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
print(min(newL))#求最小数
print(max(newL))#求最大数
print(sum(newL))#求平均数
#列表与元组的区别
a=("pekelimu","kailu","kekeluo")#元组 不能修改 不能添加
循环
#循环
#for循环
##for name in names:
## print(name)
for t in range(0,len(names1[0])):
names1[0][t]=names1[0][t].upper()
print(names1[0][t])
#猜数字游戏
##import random
##number=random.randint(1,20)
##for t in range(1,6):
## print("输出数字")
## n=int(input())
## if n<number:
## print("猜小了")
## elif n>number:
## print("猜大了")
## else :
## print("你猜对了")
## break
#while循环
####he=0
####i=-1
####flag=True
####while flag:
#### i=int(input("请输入一个数字"))
#### he+=i
#### if i==0:
#### flage=False
####print(he)
#使用while循环遍历列表
####i=0
####len(l)-1
####while i<=len(l)-1:
#### print(l[i])#遍历此列表[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
#### i+=1
#使用while循环遍历字典
####d={'name':'xuefeng',
#### 'age':12,
#### 'gender':'gril',
#### 'hobby':['唱','跳','rap','篮球']}
####i=0
####keyList=list(d.keys())
####while i<len(keyList):
#### key =keyList[i]
#### value=d[key]
#### print(key,value)#name xuefeng age 12 gender gril hobby ['唱', '跳', 'rap', '篮球']
#### i+=1
#判断素数
####n=int(input("请输入一个大于1的整数"))
####isSu=True
####for i in range(2,n):
#### if n%i==0:
#### isSu=False
#### break
####if isSu:
#### print(n,'是素数')
####else:
#### print(n,'不是素数')
#打印所有的水仙花数
flower=[]
for i in range(100,1000):
ge=i%10
bai=int(i/100)
shi=int(i/10)%10
if i ==(ge**3+bai**3+shi**3):
flower.append(i)
print(flower)#[153, 370, 371, 407]
字典
#字典:键值对集合
stu1={'name':'xuefeng',
'age':12,
'gender':'gril',
'hobby':['唱','跳','rap','篮球']}
print(stu1['hobby'][0])
stu1['rank']=3#添加
stu1['age']=11#改变
del stu1['rank']#删除
#列表字典嵌套列表
students= [ {'name':'xuefeng','age':12,'gender':'gril'},
{'name':'daofeng','age':12,'gender':'gril'},
{'name':'tianjinfeng','age':12,'gender':'gril'}]
print(students[1])
#遍历集合的键 值 和键值对
for k in stu1.keys():
print(k,end='-')
for v in stu1.values():
print(v,end='-')
print(stu1.items())
#访问键值对第一种方法
for i in stu1.items():
print(i)#('name', 'xuefeng')
print(i[0],i[1],end='\n')#name xuefeng 访问键和值
#访问键值对第二种方法
for k,v in stu1.items():
print(k,v)
#判断某个键和值是否包含在某个字典中
res='gender' not in stu1.keys()
print(res)#False
res ='gril' in stu1#默认判断键
print(res)#False
#设置字典中某个键的默认值,如果字典中这个键没有设置值则使用默认值,有的话就使用原本的值
stu1.setdefault('name','yingfeng')
方法
##位置参数 关键字参数 空字符'' 空格字符' '
print('hello','world',sep='|')
#列表
##l=['xuefeng','daofeng','jifeng']
##def test(l):
## del(l[1])
##test(l[:])
####可变参数
##def test(*n):
## for i in n:
## print(i)
##test(2,4,5)
####从模块中导入方法
##from test import test2 as t2,test1 as t1
##t1()
##t2()
##import test as t
##t.test1()
##t.test2()
#用递归来计算num的阶乘
def f(n):
if n==1:
return 1
he=f(n-1)+n
return he
print(f(5))
##def display_message():
## print('python')
##display_message()
##def favorite_book(title):
## print('喜欢的书'+title)
##favorite_book('撒')
##def make_shirt(size,mark):
## print("尺码"+size+"字样"+mark)
##def make_album(name,album_name,count=0):
## d={}
## d['name']=name
## d['album_name']=album_name
## if count!=0:
## d['count']=count
## return d
##print(make_album('xuefeng','微软'))
###判断是否字符串 列表 元组中的每一个元素是否含有空内容
##def test(t):
## isIncludeKong=False
## for s in t:
## if s.strip()=='':
## isIncludeKong=True
## break
## return isIncludeKong
##print(test(['xuefeng','daofeng','jifeng']))
##def check(l):
## while len(l)>2:
## del(l[2])
## return l
##l=[15,84,2,14,82,926,488]
##check(l)
##print(l)
##def test(l):
## newL=[]
## for i in range(0,len(l)):
## if i%2==1:
## newL.append(l[i])
## return newL
##l=[1,2,3,4,5,6,7,8,9]
##print(test(l))#[2, 4, 6, 8]
def f(n):
if n==1 or n==2:
return 1
res =f(n-1)+f(n-2)
return res
print(f(3))
类
##class Dog():
## # __init__
## def __init__(self,name,age,color):
## self.name=name
## self.age=age
## self.color=color
## def sit(self):
## print(self.name+"sit")
## def roll_over(self):
## print(self.name+"roll")
##dog1=Dog('灰灰',2,'black')
##dog2=Dog('黑黑',3,'white')
##class Car():
## def __init__(self,make,model,year):
## self.make=make
## self.model=model
## self.year=year
## self.mileage=0
## def describe(self):
## print(self.year+' '+self.make+' '+self.model)
## def get_mileage(self):
## print("跑了"+str(self.mileage)+"公里")
## def set_mileage(self,mileage):
## if self.mileage<mileage:
## self.mileage=mileage
##car1=Car("上海大众",'K1','2010')
##car1.describe()
##car1.set_mileage(500)
##car1.get_mileage()
class Person():
def __init__(self,name,age,gender):
self.name=name
self.age=age
self.gender=gender
def personInfo(self):
print("name:"+self.name+"age:"+self.age+"gender:"+self.gender)
#继承
class Student(Person):
def __init__(self,name,age,gender,college,grade):
super().__init__(name,age,gender)
self.college=college
self.grade=grade
def personInfo(self):
super().personInfo()
print("college:"+self.college+"grade:"+self.grade)
def study(self,Teacher):
Teacher.teach_obj()
print( Teacher.name+"老师 我终于学废了")
class Teacher(Person):
def __init__(self,name,age,gender,college,professional):
super().__init__(name,age,gender)#调用父类里的初始方法
self.college=college
self.professional=professional
def __str__(self):
return self.name+' '+str(self.age)+' '+self.gender+' '+self.college+' '+self.professional
def personInfo(self):
super().personInfo()
print("college:"+self.college+"professional:"+self.professional)
def teach_obj(self):
print("今天讲了如何面对对象设计程序")
##p1=Person('岛风',"12",'女')
##p1.personInfo()
stu1=Student("雪风","12","女","设计学院","2班")
stu1.personInfo()
t=Teacher('托尼',"20",'男',"设计学院","美发")
t.personInfo()
stu1.study(t)
print(t)
文件
import os
print(os.getcwd())
##with open('Game.txt','r') as file:
## content=file.read()#读取整个文件
## print(content)
## print("++++++++")
## for line in file:
## print(line.rstrip())
#w是覆盖 a是追加
with open('Game.txt','a') as file:
file.write('\nwww.sikiedu.com')
try:
print(9/0)
except ZeroDivisionError:
print('代码出现异常')
else:
print('未出现别的错误')
print('end')