我正在学习Python,并试图使用函数和用户输入编写一个简单的书店程序。它需要参数(书,价格)和打印“订单:‘您的选择’成本'x美元‘”,但我无法让它工作。你能帮我查一下我的密码吗?
def book_store(book,price):
book_choice = input("Enter books title: ")
book_price = input ("Enter books price: ")
return "Title: " + book_choice + ", costs " + book_price
print (book_store(book_choice, book_price))NameError跟踪(最近调用)在() 10 11 --> 12打印(book_store(book_choice,book_price)) NameError:未定义名称“book_choice”
发布于 2018-02-25 19:23:45
您的代码现在是多余的,它可以是:
def book_store():
book_choice = input("Enter books title: ")
book_price = input("Enter books price: ")
return "Title: " + book_choice + ", costs " + book_price
print(book_store())或:
def book_store(book, price):
return "Title: " + book + ", costs " + price
book_choice = input("Enter books title: ")
book_price = input("Enter books price: ")
print (book_store(book_choice, book_price))这两种版本都能工作。
还要确保您使用的是python 3,否则输入不会返回字符串。
发布于 2018-02-25 19:21:58
您正在传递两个未使用的参数,而不是初始化它们。它们是多余的。以下工作:
def book_store():
book_choice = input("Enter books title: ")
book_price = input ("Enter books price: ")
return "Title: " + book_choice + ", costs " + book_price
print (book_store())给予:
Enter books title: Good Python
Enter books price: 2.30
Title: Good Python, costs 2.30发布于 2018-02-25 19:23:21
您将得到book_choice未定义的错误。这是因为您在函数中而不是在函数之外定义了book_choice。按照现在的方式,您的函数应该使用零参数。但是,如果要将book_choice和book_price的参数传递给它,则必须在函数之外定义这些变量。
https://stackoverflow.com/questions/48977374
复制相似问题