使用if elif和else打印不同的语句

时间:2019-09-25 05:35:39

标签: python if-statement

我用thonny创建了一个代码,该代码需要3个输入来确定一件商品的价格。我还希望能够在价格满足特定要求且仅一种折扣符合条件的情况下提供折扣,并打印折扣结果。如果没有折扣,我只想打印商品价格。

请在我尝试过的代码下面查看我的代码

if sqFt > BIG_DESK:
    if wood == 'oak' or wood == 'mahog':
        discount = DISC_1
        discAmnt = discount * price
        discPrice = price - discAmnt

elif wood == 'oak' or drawers > DISC_DRAWER:
    discount = DISC_2
    discAmnt = discount * price
    discPrice = price - discAmnt

elif price > DISC_PRICE:
    discount = DISC_3
    discAmnt = discount * price
    discPrice = price - discAmnt

print("\nThe price of the desk is $", format(price,',.2f'))
print("\nThe discounted price is $", format(discPrice,',.2f'))
print("\nYou qualified for a", format(discount,'.0%'),"and saved",format(discAmnt,',.2f'))


else:
    print("\nThe price of the desk is $", format(price,',.2f'))

如前所述,如果存在可以应用的折扣,我希望它打印价格,价格减去折扣以及折扣和折扣金额。

我在带有错误语句SyntaxError: invalid syntax的else语句处不断出现错误

1 个答案:

答案 0 :(得分:0)

您有一个简单的缩进错误;最后一个print之后的elif将终止整个if块。

根据您希望代码实际执行的操作,缩进print使其成为elif的一部分,或者将else放在另一个{{1 }}语句。如果print中的东西应该控制是否在其他打印之后再打印东西,则创建一个变量来控制第二个else块,也许像这样:

if / else