在纸上把这个过程都画出来了,结果跟函数结果一样,但是还是不明白这个函数是怎么运行出这个结果的,对这里的实参和形参有点弄不懂?有没有哪位大哥解答下?
2016-04-14
for x in [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]:
for y in [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]:
if x < y:
print x * 10 + y
for y in [ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]:
if x < y:
print x * 10 + y
2016-04-14
我觉得答案给的并不好,如果有两名同学成绩一样那么只能key和value反转只能出现一个人的成绩= -
# -*- coding: utf-8 -*-
d = {
'Adam':95,
'L3me':95,
'Lisa':60,
'Bart':75
}
for x in d:
if d[x]==95:
print x
# -*- coding: utf-8 -*-
d = {
'Adam':95,
'L3me':95,
'Lisa':60,
'Bart':75
}
for x in d:
if d[x]==95:
print x
2016-04-14
这道题延伸一下,如果有两名同学分数一样。# -*- coding: utf-8 -*-
d = {
95: 'Adam',
95: 'LIme',
85: 'Lisa',
59: 'Bart'
}
for x in d:
if x==95:
print d[x]
这样的话却只能输出一个同学的名字= =
d = {
95: 'Adam',
95: 'LIme',
85: 'Lisa',
59: 'Bart'
}
for x in d:
if x==95:
print d[x]
这样的话却只能输出一个同学的名字= =
2016-04-14
for x in [ '1','2','3','4','5','6','7','8','9' ]:
for y in [ '1','2','3','4','5','6','7','8','9' ]:
if int(x)<int(y):
print x+y
for y in [ '1','2','3','4','5','6','7','8','9' ]:
if int(x)<int(y):
print x+y
2016-04-14
sum = 0
x = 0
while True:
x = x + 1
if x > 100:
break
if x%2 ==0:
continue
sum=x+sum
print sum
x = 0
while True:
x = x + 1
if x > 100:
break
if x%2 ==0:
continue
sum=x+sum
print sum
2016-04-14
虽然严谨着说这样写是不全面的。但是对于确定有解的二次方程,可以这样简单写
import math
def quadratic_equation(a, b, c):
e=b*b-4*a*c
e=e/1.0
e1=math.sqrt(e)-b
e1=e1/a/2
e2=b+math.sqrt(e)
e2=-e2/2/a
return e1,e2
print quadratic_equation(2, 3, 0)
print quadratic_equation(1, -6, 5)
import math
def quadratic_equation(a, b, c):
e=b*b-4*a*c
e=e/1.0
e1=math.sqrt(e)-b
e1=e1/a/2
e2=b+math.sqrt(e)
e2=-e2/2/a
return e1,e2
print quadratic_equation(2, 3, 0)
print quadratic_equation(1, -6, 5)
2016-04-14
def greet(x='world'):
print 'Hello'+x+','
greet()
greet('Bart')
默认数值在未传入时是不变的,当传入时才改变默认值
变量与常量之间类型不同,要用‘+’连接
print 'Hello'+x+','
greet()
greet('Bart')
默认数值在未传入时是不变的,当传入时才改变默认值
变量与常量之间类型不同,要用‘+’连接
2016-04-14
[100*x+10*y+z for x in range(1,10) for y in range(1,10) for z in range(1,10) if x==z ]
2016-04-14