Python 从列表打印

Python 从列表打印,python,list,printing,Python,List,Printing,这是一个比大多数人更容易回答的问题。我是编程新手,需要一些帮助。我正在尝试将下面的文本打印到用户指定的名称列表中。我得到的错误是: TypeError: GoodDaySir() takes 0 positional arguments but 1 was given python 3.3 mylist=input('Who is visiting today?') def GoodDaySir(): for i in range(len(mylist)): print

这是一个比大多数人更容易回答的问题。我是编程新手,需要一些帮助。我正在尝试将下面的文本打印到用户指定的名称列表中。我得到的错误是:

TypeError: GoodDaySir() takes 0 positional arguments but 1 was given
python 3.3

mylist=input('Who is visiting today?')
def GoodDaySir():
    for i in range(len(mylist)):
        print('Hello to you.')
        print('Have a good day, ', mylist)

您忘了在
def
之后缩进

mylist=input('Who is visiting today?')
def GoodDaySir():
    for i in range(len(mylist)):
         print('Hello to you.')
         print('Have a good day, ', mylist)
虽然我不知道您试图用这段代码实现什么;-)

你可能想要这样的东西:

def GoodDaySir(visitors):
    """ This function takes a list() of visitors and prints out a greeting
        for each person.
    """
    for person in visitors :
         print('Hello to you.')
         print('Have a good day, ', person)

# Get a list of names separated by ","
visitors = raw_input('Who is visiting today?')

# Convert the string to an actual list()
visitorsList = [x.strip() for x in visitors.split(',')]

# Call our function with the list as parameter and greet the visitors
GoodDaySir(visitorsList)

主要问题是您根本没有使用缩进,但它仍然无法工作

解决方案的一个例子可能是:

def GoodDaySir():
    names = raw_input('Who is visiting today?') #this returns a string of names 
    namesList = names.split(',') #let's suppose that those names are separated by commas

    for name in namesList:
        print('Hello to you.')
        print('Have a good day, ', name)`
此错误意味着您正在将参数传递给不接受参数的函数。你已经定义了

def GoodDaySir():
没有参数。当您将
mylist
传递给
GoodDaySir
时,它不知道如何处理它。也许把你的功能改成

def good_day_sir(people):
    for person in people:
        print('Hello to you.')
        print('Have a good day, ', person)

这是你的实际缩进吗?如果没有,您能否编辑您的帖子以反映您的实际缩进?修复缩进后,请告诉我们您是如何调用
GoodDaySir
。这可能最好作为一个注释。他的问题可能不是缩进,或者他会得到不同的错误。他的问题可能是他在定义中没有包含参数变量,而是在调用时提供了一个参数。是的,明白了…我刚刚添加了一个示例实现。
def good_day_sir(people):
    for person in people:
        print('Hello to you.')
        print('Have a good day, ', person)