簡體   English   中英

Python作業幫助請求

[英]Python homework help request

我需要一些輸入,為什么我不能從代碼中得到理想的結果。

這是代碼:

def main():
    SEAT_LIMIT_A=300
    print("Enter the total amount of tickets sold for Section A")
    sectionA=getTickets(0, SEAT_LIMIT_A)
    print("The total amount of tickets sold for section A is",sectionA)

def getTickets(ticket, SEAT_LIMIT):
    ticket=int(input("Enter:"))
    ticketsInvalid(ticket, SEAT_LIMIT)
    return ticket

def ticketsInvalid(ticket, SEAT_LIMIT):
    while ticket <0 or ticket > SEAT_LIMIT:
        print ("Error: The amount of tickets sold can't be less than 0 or more than",SEAT_LIMIT)
        ticket=int(input("Please enter the correct amount here: "))
        return ticket

main()

我基本上需要獲取電影院某個區域的售票數量,然后需要一個驗證循環來驗證輸入的數量是否不少於或超過該區域的座位限制(在這種情況下為A ,但是一旦弄清了這一部分,我還需要在程序中實現更多功能。 我的教授希望我們創建一般功能,以幫助完成需要檢查的任何部分的此過程。 她希望主函數通過調用getTickets函數來詢問賣了什么,然后她希望將來自getTicket函數的輸入傳遞給ticketsInvalid函數,以便可以對其進行檢查,然后希望將其傳遞回要顯示的主要功能。

這是我的代碼的示例測試的輸出:

Enter the total amount of tickets sold for Section A
Enter:400
Error: The amount of tickets sold can't be less than 0 or more than 300
Please enter the correct amount here: 200
The total amount of tickets sold for section A is 400

我似乎無法弄清楚如何使在驗證循環中輸入的金額正確顯示在主函數中。 任何不徹底改變我的代碼的幫助將不勝感激。 我可以很容易地完成該程序,而不必在函數之間傳遞參數,但這就是她想要的。很抱歉,很長一段時間,她只是想讓我們實現許多繁瑣的規則。 我是編程的新手,因此在編寫解決方案/說明時請記住這一點:)

從方法getTickets(ticket, SEAT_LIMIT) ,您將返回票證的舊值。 ticketsInvalid(ticket, SEAT_LIMIT)返回的新值未使用。

因此,請對getTickets()方法進行少量修改。

def getTickets(ticket, SEAT_LIMIT):
    ticket=int(input("Enter:"))
    return ticketsInvalid(ticket, SEAT_LIMIT)

當您為ticketsInvalid中的票證變量分配新值時。 它創建新的int對象並分配給票證變量。 並且您沒有在getTickets中使用fun ticketsInvalid的返回值。

希望你明白了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM