|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
为什么Python说我的这个great_magican没有定义呀
magicans=['Liuqian','Pual Frid','Manu Coco']
def show_magicans(magicans):
for magican in magicans:
print(magican)
show_magicans(magicans)
def make_great(great_magican,magicans):
while magicans:
great_magican=magicans.pop
print(great_magican)
make_great(great_magican,magicans)
本帖最后由 sunrise085 于 2020-7-21 12:53 编辑
不知道你的这个程序中的make_great()函数的目的是要干什么,但是在调用该函数的时候,第一个参数的确没有定义。
- magicans=['Liuqian','Pual Frid','Manu Coco']
- def show_magicans(magicans):#这三行是一个函数定义,函数有一个参数,注意这里的magicans是形参
- for magican in magicans:
- print(magican)
- show_magicans(magicans)#这一行是函数调用,该参数在第一行定义过了,这里的magicans是实参
- def make_great(great_magican,magicans): #这四行是函数定义,函数有两个形参
- while magicans:
- great_magican=magicans.pop # 这里估计你是打算从列表magicans中pop一个元素赋值给great_magican,pop函数需要在后面加小括号。另外great_magican在这里赋值,其实就没必要作为参数传入了,反正外面也没有定义过这个变量,而且也没有进行返回。
- print(great_magican)
-
- make_great(great_magican,magicans) #这一行是函数调用,调用函数的时候第一个参数是没有定义过的。第二个参数在第一行定义过了。
复制代码
你的程序有点乱,函数定义和主程序的代码穿插着写,有点乱,而且也不利于自己理解。可以调整一下。
改过之后的样子
- def show_magicans(magicans):#第一个函数定义
- for magican in magicans:
- print(magican)
- def make_great(magicans):#第二个函数定义,这里去掉了那个没有用到的参数
- while magicans:
- great_magican=magicans.pop()#这里帮你修改了
- print(great_magican)
-
- #从这里开始,是主程序。先是定义了一个列表,然后调用show_magicans()函数,最后调用了make_great()函数
- magicans=['Liuqian','Pual Frid','Manu Coco']
- show_magicans(magicans)
- make_great(magicans)
复制代码
|
|