11235813
x=1
y=1for i inrange(10):
x,y = y,x+y
print(x)
二、== 水仙花束 ==
方法一
for i inrange(100,1000):
strs =str(i)
bai = strs[0]
shi = strs[1]
ge = strs[2]ifeval('{}**3+ {}**3+ {}**3'.format(bai,shi,ge))==i:print(i)
方法二
for s inrange(100,1000):
ge = s%10
shi = s%100//10
bai = s//100if ge**3+shi**3+bai**3==s:print(s)
方法三
for ge inrange(10):for shi inrange(10):for bai inrange(1,10):if ge**3+shi**3+bai**3==ge+shi*10+bai*100:print(ge+shi*10+bai*100)
三、求一个列表里的最大值和最小值
lists =[2,3,5,1,7,9,3,56,2]max= lists[0]for i in lists[1:]:ifmax<i:max= i
print(max)
方法一:循环遍历
lists =[1,9,1,2,6,2,4,3,0,3,9,4,5]
n_l =[]for i in lists:if i notin n_l:
n_l.append(i)print(n_l)
结果:[1,9,2,6,4,3,0,5]
方法二:利用集合去重
lists =[1,9,1,2,6,2,4,3,0,3,9,4,5]print(list(set(lists)))
结果:[1,9,2,6,4,3,0,5]
遍历列表元素
lists =[[1,2],[3,4]]for a,b in lists:print(a,b)
结果:
1234
六、统计列表中每个元素出现的个数
lists =[47,98,3,6,2,98,30,47,3]
n_l =[]for i inrange(len(lists)):
i = lists[i]
flag =0
n =0for a,b in n_l:if a==i:
n_l[n]=[i,b+1]
flag =1
n=n+1if flag==0:
n_l.append([i,1])print(n_l)
结果:[[47,2],[98,2],[3,2],[6,1],[2,1],[30,1]]
七、九九乘法表程序
strs =''for i inrange(1,10):for ii inrange(1,i+1):
strs+='{}x{}={} '.format(ii,i,i*ii)
strs = strs+'\n'
八、如果有两个列表,他们都有10个元素,如何生成一个新的列表,对应下表使用这2个列表中值大的那个?== zip ==
#比如说列表1[1,2,3,4]列表3[2,1,2,2],得到的结果应为[2,2,3,4]
list1 =[1,4,3,7,2,4]
list2 =[1,2,4,5,2,8]
lists =[]for a,b inzip(list1,list2):#将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)
n = a if a>b else b
lists.append(n)print(lists)
结果:[1,4,4,7,2,8]
九、== 冒泡排序 ==:对列表元素进行排序
# #利用冒泡排序对列表进行排序
lists =[4,2,8,7,9,3,6,2]# lists = [1,2,3,4,6,5]# [2, 4, 7, 8, 3, 6, 2, 9]# [2, 4, 7, 8, 3, 6, 2, 9]for ii inrange(len(lists)-1):
flag =0for i inrange(len(lists)-1-ii):if lists[i]>lists[i+1]:
lists[i],lists[i+1]= lists[i+1],lists[i]
flag =1if flag ==0:breakprint(lists)
结果:
[2,4,7,8,3,6,2,9][2,4,7,3,6,2,8,9][2,4,3,6,2,7,8,9][2,3,4,2,6,7,8,9][2,3,2,4,6,7,8,9][2,2,3,4,6,7,8,9]
十、冒泡排序
lists =[4,2,8,7,9,3,6,5]for j inrange(len(lists)-1):
flag =0for i inrange(len(lists)-1-j):if lists[i]>lists[i+1]:
lists[i],lists[i+1]= lists[i+1],lists[i]
flag =1if flag==0:breakprint(lists)
结果:[2,3,4,5,6,7,8,9]
十一、== 字典 ==:dict基础知识
1.键不可变,键不可重复
dicts ={'hello':'world',(1,2,3):899,'李白':[{12:33}]}print(dicts)2.字典出现重复的键会怎么样?
dicts ={'李白':'world',(1,2,3):899,'李白':[{12:33}]}print(dicts)
结果:{'李白':[{12:33}],(1,2,3):899} 会自动合并,赋最后出现的值
3.增加
#方法一
dicts ={'hello':'world',(1,2,3):98,'李白':[{12:33}]}
dicts['你好']='杜甫'print(dicts)#方法二
dicts ={'hello':'world',(1,2,3):98,'李白':[{12:33}]}
dicts.update({'你好':'杜甫'})#实际上放的是另一个字典,实际上是两个字典的合并print(dicts)#打印的是这个字典本身,是在原来的字典里面变化的,所以说字典是可变的4.删除
根据字典的键
#方法一
dicts ={'hello':'world',(1,2,3):98,'李白':[{12:33}]}
a = dicts.pop('hello')#弹出的是删除的键所对应的值print(a,dicts)#方法二
dicts ={'hello':'world',(1,2,3):98,'李白':[{12:33}]}del dicts['hello']print(dicts)#方法三
dicts ={'hello':'world',(1,2,3):98,'李白':[{12:33}]}print(dicts.clear())#清空字典
结果:None5.修改
dicts ={'hello':'world',(1,2,3):98,'李白':[{12:33}]}
dicts['hello']='柳宗元'print(dicts)6.查询
dicts ={'hello':'world',(1,2,3):98,'李白':[{12:33}]}print(list(dicts.keys()),dicts.values())#可以把字典转成列表进行取值,就可以用列表的方法了print(dicts.items())#打印所有键的值
dicts ={'hello':'world',(1,2,3):98,'李白':[{12:33}]}for i in dicts.keys():print(i)
结果:
hello
(1,2,3)
李白
#打印所有的值print(dicts.values())
结果:dict_values(['world',98,[{12:33}]])7.字典遍历的两种方法
dicts ={'hello':'world',(1,2,3):98,'李白':[{12:33}]}# 方法一(遍历出键值对)for a,b in dicts.items():print(a,b)
结果:
hello world
(1,2,3)98
李白 [{12:33}]#方法二for a in dicts:#直接遍历,遍历出来的是字典的键print(a,dicts[a])
结果:
hello world
(1,2,3)98
李白 [{12:33}]print(dicts['hello'])
结果:
world
8.判断字典键里有没有这个值
dicts ={'hello':'world',(1,2,3):98,'李白':[{12:33}]}if'hello'in dicts:print("有!")
结果:有!
9.用字典统计字符串中每个字母出现的个数?
#第一种
strs ='skcclfdlcgdc'
dicts ={}for i in strs:
dicts[i]= strs.count(i)#引字母作为键dicts[i],统计次数print(dicts)
结果:{'s':1,'k':1,'c':4,'l':2,'f':1,'d':2,'g':1}#第二种
strs ='skcclfdlcgdc'
dicts ={}for i in strs:if i notin dicts:#判断取出的值是否在字典里面
dicts[i]=1else:
dicts[i]= dicts[i]+1#加入的话,取出来再给它+1print(dicts)
结果:{'s':1,'k':1,'c':4,'l':2,'f':1,'d':2,'g':1}
十二、== 元组 ==:tuple基础知识
1.遍历
tuples =(1,2,3,4)for i in tuples:print(i)2.查
tuples =(1,2,3,4)print(tuples[0])3.类型
t =(1,)print(type(t))
t =(1)print(type(t))#有运算优先级,出来就是整型14.元组里面放一个列表,能不能修改列表里面的值?
t =([1,2,3])
t[0][0]=5print(t)#报错,因为元组是不可变元素,Python版本决定可不可以变,很遥远的可能会变,面试就回答直接报错
print([x for x inrange(1,101)])#前边的x是放在里面的x,这是for x in range(1,101)对所放x的描述,生成1~100print([x if x%2==0else-x for x inrange(1,101)])#对里面的奇数取负值,两个条件就放到for x in range(1,101)的前边print([x for x inrange(1,101)if x %2==0])#选出里面的偶数,一个条件就可以放到for x in range(1,101)的后边
1.print([x for x inrange(1,101)])#前边的x是放在里面的x,这是for x in range(1,101)对所放x的描述,生成1~1002.print([x if x%2==0else-x for x inrange(1,101)])#对里面的奇数取负值,两个条件就放到for x in range(1,101)的前边3.print([x for x inrange(1,101)if x %2==0])#选出里面的偶数,一个条件就可以放到for x in range(1,101)的后边4.#用列表生成式把[[1,2],[3,4],[5,6]]变成[1, 2, 3, 4, 5, 6]
lists =[[1,2],[3,4],[5,6]]
data =[x for y in lists for x in y]#需要两个变量,先遍历这个[[1,2],[3,4],[5,6]]大列表,# 遍历出的y就是这个[1,2]小列表,然后for x in y再遍历里面的小列表#然后把遍历到的y放到一个列表里面print(data)
结果:[1,2,3,4,5,6]