在下小丁 发表于 2020-3-27 10:28:02

Python 小白问题传递列表中的返回值

本帖最后由 在下小丁 于 2020-3-27 10:29 编辑

def greet_users(names):
for name in names:
   msg="hello "+name.title()+" !"
   print(msg)
usernames=['mayun','xiaomage','wangjianlin']
greet_users(usernames)


怎样将上面这种列表传递改成下面用返回值表示的形式

def greet_users(names):

for name in names:
    msg=name.title()
    return msg   #这里的返回函数值
usernames=['mayun','xiaomage','wangjianlin']
say=greet_users(usernames)
print(say)
下面这种只能输出 Mayun 后面的输出不了
小白在线求助 求求各位了看了好久了 还是弄不好



永恒的蓝色梦想 发表于 2020-3-27 10:31:55

你不会学了函数连return都没学会吧

sunrise085 发表于 2020-3-27 10:38:51

def greet_users(names):
    msg=[]
    for name in names:
      msg.append("hello "+name+" !")
    return msg
usernames=['mayun','xiaomage','wangjianlin']
say=greet_users(usernames)
for words in say:
    print(words)

yrp瑞 发表于 2020-3-27 11:05:37

函数要么不返回值,返回的话返回值唯一,你那return在for循环内,它就只返回第一次的return

xcsummer 发表于 2020-3-27 11:17:40

def greet_users(names):
    msg = 'hello ' + names + ' !'
    return msg
usernames = ['mayun','xiaomage','MM']
for i in range(len(usernames)):
    print(greet_users(usernames))

页: [1]
查看完整版本: Python 小白问题传递列表中的返回值