python3

时间:2018-02-25 19:12:58

标签: python function user-input

我正在学习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 Traceback(最近一次调用   最后)in()        10        11   ---> 12打印(book_store(book_choice,book_price))

     

NameError:名称'book_choice'未定义

3 个答案:

答案 0 :(得分:0)

您收到book_choice未定义的错误。这是因为您在函数内部而不是在函数外部定义book_choice。你现在拥有它的方式,你的函数应该采用零参数。但是如果你想传递book_choice和book_price的参数,你必须在函数之外定义那些变量。

答案 1 :(得分:0)

您的代码现在是多余的,可以是:

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())

OR:

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,否则输入不会返回字符串。

答案 2 :(得分:-1)

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))

book_choice和book_price应该是这里的东西,也许是尚未定义的变量。 您正在函数book_store中传递这些变量。 这是关于错误,而不清楚你想要实现什么。

也许你可以简单。使用此印刷品。

print(book_store())