2016-07-04 62 views
-5
#This is a program which illustrates a chaotic behavior. 


def main(): 
    print("This is a program which illustrates a chaotic behavior") 
    x = eval(input("Enter a value between 0 and 1: ")) 
    for i in range(10): 
    x = 3.9 * x * (1 - x) 
    print(x) 

的main()什麼是錯的程序我想寫

我讀經書「Python編程,約翰Zelle介紹計算機科學」和我試圖禁止複製粘貼這個簡單的程序。 我使用Geany IDE和寫作上面的代碼後,我試圖編譯它,但我收到以下錯誤:

Sorry: IndentationError: expected an indented block (chaos.py, line 5) 
+5

也許回去和閱讀有關Python語法規則,特別是關於縮進位的部分。錯誤告訴你問題是什麼。 –

+1

我懷疑你可能會混合製表符和空格,並且*在你的編輯器中*這行看起來很好並且縮進。 Python將選項卡擴展到每個* 8列*,而您可能只將文本編輯器設置爲4.不要混合使用製表符和空格,請確保將編輯器配置爲使用空格來縮進(而且每次擊中TAB空間將被用來代替)。 –

+0

@MarcB:除非用戶混合了製表符和空格,並且在編輯器中看不到縮進區別。 –

回答

1

錯誤消息告訴您正是什麼是錯的:當你有一個循環(或其他代碼塊),您需要縮進它的內容。否則,解釋者無法知道什麼是或不是循環體的一部分。

def main(): 
    print("This is a program which illustrates a chaotic behavior") 
    x = eval(input("Enter a value between 0 and 1: ")) 
    for i in range(10): 
     x = 3.9 * x * (1 - x) # INDENT THIS 
     print(x)    # AND THIS 
1

它必須是

for i in range(10): 
    x = 3.9 * x * (1-x) 
    print x 

Python使用縮進到組語句,例如在循環體中。

+0

這個打印大概應該在那裏 - 否則,它將只打印序列中的最後一個值。 –

0

縮進線

x = 3.9 * x * (1 - x) 
print(x)