我正在與下面的代碼行的問題:兩個彩車拋出類型錯誤:不支持的操作數類型(S)爲+:「浮動」和「STR」
underground['distributed_load_C'] = float(ugLineList[21])*1000 + ('+' if float(ugLineList[24]) >= 0.0 else '-') + abs(float(ugLineList[24]))*1000j
原始值拉來自ugLineList是字符串,我嘗試在添加之前將它們轉換爲浮點數。即使我嘗試類型轉換他們我收到以下錯誤:
TypeError: unsupported operand type(s) for +: 'float' and 'str'
我已經試過這類型語句之前鑄造他們,並檢查該代碼段是真正的浮動: print type(float(ugLineList[21])*1000), type(float(ugLineList[24]))
- - ><type 'float'> <type 'float'>
我,什麼是怎麼回事,所以任何幫助感激真的很困惑。
謝謝!
你的代碼最終是float + str + float。 str是「+」或「 - 」。你爲什麼要加'+'或' - '? – FamousJameous
這兩個號碼被轉換爲浮動,但它們之間的操作是一個字符串(即'「+」'或''-'')。您可能要重新制定了'if'語句,以便您專門檢查'ugLineList [24]'爲標誌,然後通過明確使用正確的算術運算符做正確的操作。 – rayryeng
我有一種感覺,它是與if語句,類型轉換,做術前檢查標誌工作的問題。事後看來,我不確定爲什麼我添加了添加或減少每個Alg_D答案的條件。感謝大家! – lewis2ba