簡體   English   中英

“TypeError:‘bool’類型的參數不可迭代”

[英]"TypeError: argument of type 'bool' is not iterable"

我是 python 的新手,需要幫助解決我無法修復的錯誤 Imma 編寫 function 稱為 checkCoupon,它驗證優惠券代碼是否有效且未過期。 優惠券在到期日后的第二天不再有效。 所有日期都將作為以下格式的字符串傳遞:“MONTH DATE, YEAR”。 '''

from datetime import datetime as dt
def check_coupon(entered_code, correct_code, current_date, expiration_date):
    current, expire = dt.strptime(current_date, '%B %d, %Y'), dt.strptime(expiration_date, '%B %d, %Y')
    if entered_code in correct_code and expire >= current:
        if correct_code == False:
            return False
        else:
            return True
    else:
        return False

check_coupon(0, False, 'September 5, 2014','October 1, 2014')

'''

TypeError: 'bool' 類型的參數不可迭代

您正在檢查entered_code是否在correct_code中,並且是否對提供給 function 的值執行“0 in False”,因此導致錯誤,因為您無法遍歷 boolean 值。 如果您想從一組/一組現有優惠券中檢查優惠券的有效性,請將correct_code替換為一組/一組現有且有效的優惠券。

暫無
暫無

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

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