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)