我的任務需要 3 個功能。第一個接受幾個輸入,然后回傳一個字串。第二個和第三個函式從第一個函式中提取資訊并回傳它們自己的字串。我遇到的問題是,當我在 main() 中呼叫第二個和第三個函式時,再次提示我輸入第一個函式中的輸入。否則,第二個和第三個函式最終會產生我正在尋找的輸出。
由于分配標準,我在如何撰寫函式方面受到了一定的限制,所以如果有點迂回,我深表歉意。我很確定我在這里為樹木而想念森林,任何幫助將不勝感激!
def get_book_info():
input_book_title = str(input("enter book title: "))
format_title = input_book_title.strip()
format_title = format_title.title()
input_book_isbn = str(input("enter book ISBN: "))
format_isbn = input_book_isbn.strip()
input_author_name = str(input("enter author name: "))
format_author = input_author_name.strip()
format_author = format_author.title()
input_publisher = str(input("Enter publisher: "))
format_publisher = input_publisher.strip()
format_publisher = format_publisher.title()
input_year_published = int(input("enter year published: "))
input_price = float(input("enter book price: "))
info = f"{format_title}/{format_isbn}/{format_author}/{format_publisher}/{input_year_published}/{input_price:.2f}"
return info
def to_csv_format():
book_info_string = get_book_info()
book_csv = book_info_string.replace("/", ", ")
return book_csv
def to_json_format():
book_info_string = get_book_info()
# find title
separator = book_info_string.find("/")
json_title = book_info_string[0:separator]
book_info_string = book_info_string[separator 1:]
# find ISBN
separator = book_info_string.find("/")
json_isbn = book_info_string[0:separator]
book_info_string = book_info_string[separator 1:]
# find author
separator = book_info_string.find("/")
json_author = book_info_string[0:separator]
book_info_string = book_info_string[separator 1:]
# find publisher
separator = book_info_string.find("/")
json_publisher = book_info_string[0:separator]
book_info_string = book_info_string[separator 1:]
# find year published
separator = book_info_string.find("/")
json_year = book_info_string[0:separator]
book_info_string = book_info_string[separator 1:]
# find price
json_price = book_info_string
book_json = f'"title":"{json_title}","isbn":"{json_isbn}",author_name":"{json_author}","publisher":"{json_publisher}","year_published:":"{json_year}","price":"{json_price}"'
return book_json
def main():
get_book_info()
print("----------------")
book_csv = to_csv_format()
print(book_csv)
print("----------------")
book_json = to_json_format()
print(book_json)
pass
main()
uj5u.com熱心網友回復:
每次您打電話get_book_info()時,都會提示您輸入您的資料。您只需在主程式中呼叫一次,將結果存盤在一個變數中,然后將此變數傳遞給您的其他函式。
def get_book_info():
input_book_title = str(input("enter book title: "))
format_title = input_book_title.strip()
format_title = format_title.title()
input_book_isbn = str(input("enter book ISBN: "))
format_isbn = input_book_isbn.strip()
input_author_name = str(input("enter author name: "))
format_author = input_author_name.strip()
format_author = format_author.title()
input_publisher = str(input("Enter publisher: "))
format_publisher = input_publisher.strip()
format_publisher = format_publisher.title()
input_year_published = int(input("enter year published: "))
input_price = float(input("enter book price: "))
info = f"{format_title}/{format_isbn}/{format_author}/{format_publisher}/{input_year_published}/{input_price:.2f}"
return info
def to_csv_format (book_info_string):
book_csv = book_info_string.replace("/", ", ")
return book_csv
def to_json_format (book_info_string):
# find title
separator = book_info_string.find("/")
json_title = book_info_string[0:separator]
book_info_string = book_info_string[separator 1:]
# find ISBN
separator = book_info_string.find("/")
json_isbn = book_info_string[0:separator]
book_info_string = book_info_string[separator 1:]
# find author
separator = book_info_string.find("/")
json_author = book_info_string[0:separator]
book_info_string = book_info_string[separator 1:]
# find publisher
separator = book_info_string.find("/")
json_publisher = book_info_string[0:separator]
book_info_string = book_info_string[separator 1:]
# find year published
separator = book_info_string.find("/")
json_year = book_info_string[0:separator]
book_info_string = book_info_string[separator 1:]
# find price
json_price = book_info_string
book_json = f'"title":"{json_title}","isbn":"{json_isbn}",author_name":"{json_author}","publisher":"{json_publisher}","year_published:":"{json_year}","price":"{json_price}"'
return book_json
def main():
info = get_book_info()
print("----------------")
book_csv = to_csv_format (info)
print(book_csv)
print("----------------")
book_json = to_json_format (info)
print(book_json)
pass
main()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/480907.html
