2015-07-06 52 views
0

我正在嘗試爲類項目創建此簡單代碼。當我輸入第一個if語句時,我的方程式不再奏效,但if語句觸發「您已完成」且break語句正常工作。取出第一個if語句會導致我的方程式工作,但我無法結束程序。有什麼辦法可以解決這個問題嗎?我無法獲得第一個if語句以在循環中工作。

# input [4, 6, 12, 9, 1, 2] 
    S = 0 
    C = 0 
    X = 999 
    while True: 
     Xstring = raw_input("Please Enter a Number: ") 
     if Xstring == int(X): 
      X = int(Xstring) 
      S = S + X 
      C = C + 1 
      print C 
      if C > 0: 
       A = S/C 
       print A 
     elif Xstring == (""): 
      print str('You are done.') 
      break 
+0

raw_input正在返回一個字符串,所以Xstring是一個字符串。 X是一個整數。將int轉換爲int不會執行任何操作。所以你將一個int與一個字符串進行比較,他們是非常不同的東西 –

+0

我建議你閱讀一些教程,一個字符串已經是一個'str',另外'elif Xstring'就足以檢查一個空字符串 –

回答

2

你有它向後。它應該是if int(Xstring) == X。您也不需要執行X = int(Xstring),因爲if聲明已經確定它們是平等的。此外,C > 0將始終爲True,因爲它始於0並且只會上升。

+0

謝謝!我將第一個if語句更改爲'if Xstring!=(「」):',並且使elif語句成爲'else:'並且它們全部結合在一起。 –

+0

@IxiusRoulee如果這就是你想要的,你可以將'if'語句改爲'if Xstring:'。 – TigerhawkT3