已采纳回答 / stars_wisper
在第一层函数里,f作为传入参数引入一个函数。在第二层函数里,(第5行)调用f引用的函数,f的返回值给r。也就是说 return r 是你调用完f的返回值。
2018-06-09
def f_cmp(x,y):
if x[:1].lower() < y[:1].lower():
return -1
if x[:1].lower() > y[:1].lower():
return 1
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'],f_cmp)
if x[:1].lower() < y[:1].lower():
return -1
if x[:1].lower() > y[:1].lower():
return 1
return 0
print sorted(['bob', 'about', 'Zoo', 'Credit'],f_cmp)
2018-06-09
用辗转相除法求最大公约数:
def function(a,b):
c=a%b
if c==0:
return b
if c!=0:
a,b=b,c
return function(a,b)
def function(a,b):
c=a%b
if c==0:
return b
if c!=0:
a,b=b,c
return function(a,b)
2018-06-08
最新回答 / 慕沐5586222
你好,看了下你的代码,其中致命的错误在于,你不应该把i+=1放在continue后面,当执行了continue,其后的代码将不会运行,所以i一直就不会变化,造成死循环,其次是不影响运行和功能的错误,你这里面的break完全可以去掉,因为当return执行时也就没有后面的代码啥事了。大家都是在学习的路上,望共勉,谢谢!
2018-06-07
import math
def is_sqr(x):
if math.sqrt(x) in range(1,11):
return x
else:
return None
print filter(is_sqr, range(1, 101))
def is_sqr(x):
if math.sqrt(x) in range(1,11):
return x
else:
return None
print filter(is_sqr, range(1, 101))
2018-06-07
def format_name(s):
return s[0].upper() + s[1:].lower()
print map(format_name, ['adam', 'LISA', 'barT'])
return s[0].upper() + s[1:].lower()
print map(format_name, ['adam', 'LISA', 'barT'])
2018-06-07