python学习笔记(七)函数
原链接:http://www.cnblogs.com/vamei/archive/2012/06/01/2529500.html
笔记:
函数学习遇到了问题
1 #!/usr/bin/env python 2 #coding=utf-8 3 #今天开始学习函数 4 def square_sum(a, b): 5 c = a**2 + b**2 6 return c 7 #其实学习python 过来,一直没有很好的编程的思维,思维总是会受到最初yi脚本的限制 8 #期待突破吧 9 10 #def define 定义函数,square_sum是函数名称,没有明确限制自己记得住就行,最好按功能名称记录 11 #return 可以返回多个值 12 square_sum (9, 6) 13 return (a, b, c) 14 15 #第12行的 square_sum (9, 6)以为这样,就可以直接返回值,事实证明是错的 16 print (square_sum(9, 6))#也没有执行
都没有执行就很奇怪,然后去了在线的Python编辑器,也是没有输出

1 #!/usr/bin/env python 2 #coding=utf-8 3 #今天开始学习函数 4 def square_sum(a, b): 5 c = a**2 + b**2 6 return c 7 #其实学习python 过来,一直没有很好的编程的思维,思维总是会受到最初yi脚本的限制 8 #期待突破吧 9 10 #def define 定义函数,square_sum是函数名称,没有明确限制自己记得住就行,最好按功能名称记录 11 #return 可以返回多个值 12 square_sum (9, 6) 13 #return (a, b, c) 14 15 #第12行的 square_sum (9, 6)以为这样,就可以直接返回值,事实证明是错的 16 print (square_sum(9, 6))#也没有执行
修改以后就可以返回平方和的值了
#上面应该是print 是在函数定义的里面,所以不执行?有大神的话希望回复
最后贴上完整的笔记
1 #!/usr/bin/env python 2 #coding=utf-8 3 #今天开始学习函数 4 def square_sum(a, b): 5 c = a**2 + b**2 6 return c 7 #其实学习python 过来,一直没有很好的编程的思维,思维总是会受到最初yi脚本的限制 8 #期待突破吧 9 10 #def define 定义函数,square_sum是函数名称,没有明确限制自己记得住就行,最好按功能名称记录 11 #return 可以返回多个值,且return不是必须的 12 square_sum (9, 6) 13 #return (a, b, c) 14 15 #第10行的 square_sum (9, 6)以为这样,就可以直接返回值 16 print (square_sum(9, 6))#也没有执行 17 #在shell里面,square_sum(9, 6)是可以直接返回值,print (square_sum(9,6))也可以执行 18 #为什么?已解决 19 20 21 a = 1 22 23 def change_integer(a):#integer 整形 24 a = a + 1 25 return a 26 27 print (change_integer(a)) 28 print (a) 29 #输出结果: 30 #print (change_integer(a)) 2 31 #print (a) 1 32 #用作者的话吧,自己描述也不一定能说清楚 33 #将一个整数变量传递给函数,函数对他进行操作,但是原整数变量a不会发生变化 34 #a = 1 是在内存中创建一个变量a,然后把1赋值给a;基本数据类型变量,变量传递给函数,函数会在内存中赋值一个新的变量,然后完成新的赋值,不会影响原来的变量,称为值传递 35 36 b = [1, 2, 3] 37 38 def change_list(b): 39 b[0] = b[0] + 1 40 return b 41 42 print (change_list(b)) 43 print (b) 44 #输出结果: 45 #print (change_list(b)) [2, 2, 3] 46 #print (b) [2, 2, 3] 47 #对于表,表传递给函数的是一个指针,指针指向序列在的是位置,[0],在函数中对表的操作是在原有的内存中进行,所以list就变化了,称为指针传递 48 49 #作者留了作业,判断闰年,我觉得我这个渣渣写不出来
去完成作业
#首先百度了一下闰年的概念
#能被4整除但不能被100整除,或能被400整除的年份即为闰年
for a in range(2020):
if a % 4 ==0 and a % 100 !=0:
print (a)#到这里返回484个值
elif a % 400 ==0:
print (a)#到这里返回490个值
#返回一大串,哈哈
#也不知道到底有多少个,算了。那就缩短了时间。。
#1950-2050年间的闰年:
#1952,1956,1960,1964,1968,1972,1976,1980,1984,1988,1992,1996,2000
#,2004,2008,2012,2016,2020,2024,2028,2032,2036,2040,2044,2048
#百度1950-2050的闰年有25个
#修改
#for a in range(1949:2051):
# if a % 4 ==0 and a % 100 !=0:
# print (a)#
# elif a % 400 ==0:
# print (a)#
#然后就报错了。。。
#错误原因是range(1949:2051)用了:号,用冒号是list的索引,记得是[0:5]是第一个元素到第五个元素
for a in range(1950,2051):
if a % 4 ==0 and a % 100 !=0:
print (a)
elif a % 400 ==0:
print (a)
#返回结果是25个值,跟百度对上了。。。
#然鹅发现不符合作者要求,首先是函数,肯定要用def,还有年月日参数,继续
def run_nian(year):
year % 4 ==0 and a % 100 !=0
year % 400 ==0
return True
#看了看别人,才明白自己的
def run_nian(year):
if year % 4 ==0 and a % 100 !=0:
return True
if year % 400 ==0:
return True
#这里还差点,因为在shell里面,输入了run_nian(1991),然后没返回
def run_nian(year):
if year % 4 ==0 and a % 100 !=0:
return True
if year % 400 ==0:
return True
else:
return False
#每个人写出来的都不一样,所以我感觉python不要限制住,自己总是限制住在最初的那个,一写就想去模仿或者抄,其实自己写出来才是最重要的吧
#没用到作者的另外另个参数
浙公网安备 33010602011771号