2014-11-04 38 views
0

我越來越與功能相混淆,因爲我剛纔想使用if和else 功能,我不能讓他們的工作...奇怪,爲什麼我不斷收到錯誤

def instructions(): 
    print ("Hello, and welcome to the programme") 

def getInput(b): 
     b=int(input("Enter how many bags of Java coffe you have purchased: ")) 

if b <= 25: 
    bonus = b + 0: 

if b >= 25: 
    else: 
     b <= 49: 
     bonus = b * 0.05: 

if b <= 50: 
else: 
    b >= 99: 
     bonus = b * 0.1: 


if b >= 100: 
    bonus = b * 0.2: 








... 
instructions() 
... 
print("") 
... 
getInput() 

的其他上第二行是作爲錯誤提出來的,所以要在靠近頂部的位置標識。 任何幫助將不勝感激。 謝謝。

+0

檢查您的縮進和'if else'子句。 – 2014-11-04 12:32:28

+0

這不會運行。縮進是不連貫的。 – khelwood 2014-11-04 12:34:44

+0

你有2個空的'if'塊 – 2014-11-04 12:35:10

回答

0

讓我來幫助你有點

if b <= 25: 
    bonus = b + 0: 

elif b >= 25 and b <= 49: 
    bonus = b * 0.05: 

elif b >= 50 and b <= 99: 
    bonus = b * 0.1: 
else: 
    bonus = b * 0.2: 

應該給你更多你所期望的。 你也將與您獲取輸入它期待一個參數時,它應該返回一個它應該看起來更像這個問題:

def getInput(): 
    return int(input("Enter how many bags of Java coffe you have purchased: ")) 

你可能會想所有的獎金代碼的縮進成一個函數並將getInput返回給它

0

你的代碼縮進不正確 - 這在python中很重要;它是語法的一部分。

該邏輯也可以做一點清理;

def instructions(): 
    print ("Hello, and welcome to the programme") 


def getInput(b): 
    b=int(input("Enter how many bags of Java coffe you have purchased: ")) 

    bonus = 0: 

    if 25 < b <= 50: 
    bonus = b * 0.05 

    elif b <= 99: 
    bonus = b * 0.1 

    elif b >= 100: 
    bonus = b * 0.2: 

    return b, bonus 

... 
instructions() 
... 
bagsBought, bonus = getInput() 
print "You bought %i, and got %i bonus bags!" % (bagsBounght, bonus) 
相關問題