廖雪峰的python教程有一点地方没看明白,求指导
贴了两遍函数,似乎是一,下面就分析这一个版本:def add_end(L=None):
if L is None:
L = []
L.append('END')
return L
不题主说的“一直往里面加END”是怎事。函数里既没有循环也没有递归,怎么会“一直”加。。。
关于默认参数,其作用是:使 add_end()的返回值 与 add_end(None)的返回值相同。因此下面不再单独分析输入0个参数的情形。
“return的L是全局变量,而传入的参数L是局部变量”这个说法很奇怪。当传入的L是None时,该函数的会新生成一个list,向其中加入一个字符串‘END’,并返回这个新生成的list。而当传入的L是一个list,哪怕是空list时,该函数的作用是向传入的这个L新加一个元素'END',并返回传入的那个L。
L.append('END')这一行,如果缩进的话:当函数传入的L不是None时,就不会向传入的这个L新加一个元素'END'。因此缩进与不缩进的效果是不一样的。
pythondef函数?
用IDLE运行fib(n)应该会有结果。
关于Python 里面def 的问题
print(grade(x))中的x需要换成实参吧,不然你调用grade()干嘛
关于python的def函数
因为你只是将计算返回,但并不是果输出,只要:
将return语句改为print x (python 2.x) 或者 print(x) (python 3.0)
还有一种就是改print my_abs(a)或者 print(my_abs(a))
python 为什么用def定义函数?
你写一个语言 用什么定义你自己说了算
python 中def 的问题 新手不知道怎么该改这段代码
1: 在第一行加这么一句话 # -*- coding: utf-8 -*-
系统不认识pr的编码
报错2: 你的
while True:
while True:
try:
choice = raw_input(pr).strip()[0].lower() #报错2 未定
except (EOFError,KeyboardInterrupt,IndexError):
choice = 'q'
这段之后的不对吧,python的缩进很重要,这段代码应该是函数 showmenu()的一部分,但是你少了个缩进之后就以为是一段新的函数。所以把从while到CMDs[choice]()都往后推一个缩进。
测试后通过
版权声明:本站所有文章皆为原创,欢迎转载或转发,请保留网站地址和作者信息。