繁体   English   中英

NameError:名称未在 Python 中定义

[英]NameError: name is not defined in Python

我有一个函数,当我提示用户输入时,它工作正常,但是当我尝试调用该函数时,它向我显示一条消息:“NameError: name is not defined in Python”

我的目标是生成 bibformat egGeorge RR Martin (1996)。 权力的游戏。 纽约市:矮脚鸡光谱。 我的功能如下所示。

def bibformat(author,title,city,publisher,year):
   return author+" ("+str(year)+"). "+title+". "+city+": "+publisher+"."

要求用户输入的部分如下所示:

def bibformat_display():
   author=input("Author:")
   title=input("Title:")
   city=input("City:")
   publisher=input("Publisher:")
   year=input("Year:")
   print(bibformat(author,title,city,publisher,year))

当我尝试运行代码时,要求用户输入的部分工作正常

bibformat_display()
Author: George R. R. Martin
Title: A Game of Thrones
City: New York City
Publisher: Bantam Spectra
Year: 1996
George R. R. Martin (1996). A Game of Thrones. New York City: Bantam Spectra.

但是当我尝试调用该函数时,它显示错误

bibformat(George R. R. Martin, A Game of Thrones, New York City, Bantam Spectra, 1996)
NameError: name 'sdfsa' is not defined

我正在尝试更改我的功能,但它仍然无法正常工作,有人可以帮助我吗? 谢谢!

您正在传递不带引号的文本,因此 Python 需要一个变量。

解决方案

将文本放在引号中并将其传递给函数,如下所示:

bibformat('George R. R. Martin', 'A Game of Thrones', 'New York City', 'Bantam Spectra', 1996)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM