16 函数实操
继续练习吧少年
大纲
局部变量和全局全量
x = 10
y = 20def redefine():
x = 20
print(x)redefine()
print(x)20
10哥赫巴德猜想
练习:找第n大的数
处理列表的注意点
Last updated
继续练习吧少年
x = 10
y = 20def redefine():
x = 20
print(x)redefine()
print(x)20
10Last updated
def max_xy(x,y):
x = 20
y = 10
if x>y:
return 0
else:
return 1
max_xy(x,y)0def max_xy(x,y):
if x>y:
return 0
else:
return 1
max_xy(x,y)1def max_xy():
x = 30
if x>y:
return 0
else:
return 1
max_xy()0def prime(x):
if x in [0,1]:
return False
for i in range(2,x):
if x%i==0:
return False
return Truefor i in range(4,101,2):
for j in range(2,i):
if prime(j) and prime(i-j):
print("{i}={a}+{b}".format(i=i,a=j,b=i-j))
break4=2+2
6=3+3
8=3+5
10=3+7
12=5+7
14=3+11
16=3+13
18=5+13
20=3+17
22=3+19
24=5+19
26=3+23
28=5+23
30=7+23
32=3+29
34=3+31
36=5+31
38=7+31
40=3+37
42=5+37
44=3+41
46=3+43
48=5+43
50=3+47
52=5+47
54=7+47
56=3+53
58=5+53
60=7+53
62=3+59
64=3+61
66=5+61
68=7+61
70=3+67
72=5+67
74=3+71
76=3+73
78=5+73
80=7+73
82=3+79
84=5+79
86=3+83
88=5+83
90=7+83
92=3+89
94=5+89
96=7+89
98=19+79
100=3+97def max_n(li,n):
for i in li:
m = 0
for j in li:
if i<j:
m = m+1
if m == n-1:
return ix = [99,200,95,87,-12,30,87,75,-25]max_n(x,2)99for n in range(1,len(li)+1):
print(max_n(li,n))200
99
95
87
None
75
30
-12
-25x = [1,2,3]
y = xx[0] = 99print(x)
print(y)[99, 2, 3]
[99, 2, 3]id(x)2192083872136id(y)2192083872136x = [1,2,3]
y = x.copy()
x[0] = 99
print(x)
print(y)[99, 2, 3]
[1, 2, 3]id(x)2192083605384id(y)2192083878792def list_append(x,li=[]):
for i in range(x):
li.append(i*i)
print(li)list_append(3)[0, 1, 4]list_append(4)[0, 1, 4, 0, 1, 4, 9]def list_append(x, li=[]):
if not li:# 如果li不为空的话,就清空列表
li = []
for i in range(x):
li.append(i * i)
print(li)list_append(3)[0, 1, 4]list_append(4)[0, 1, 4, 9]