課程
/后端開發
/Python
/初識Python
x1 = 1?
d = 3?
n = 100?
x100 =x1+(n-1)*d?
s = n*[x1+x1+(n-1)]/2?
print s?
錯誤在哪點呀?
2015-07-05
源自:初識Python 3-4
正在回答
好吧,就算你要套用上面x100那個公式,也應該是s=n*[x1+x1+(n-1)*d]/2才對。不過這個也是不可行的,當你把代碼輸入以后Python會提示TypeError : unsupported operand type(s) for /: 'list' and 'int'
大概的意思就是Python無法確定你這個s是什么類型的變量,為什么呢,學到后面你會知道,Python中可以用[ ?]創建list,如L=['jfeijfsjsj','sfjsdljg'],然后你這個/又是用于整數之間運算的,所以這幾個放在一起系統就無法確認你這個s到底是什么類型的東西啦。
這正是為什么前面要先定義x100的原因,這樣就可以用s = (x1 + x100) * n / 2避免其他括號的使用而不造成歧義,得到正確答案。
也可以直接用s=n+(x1+x1+(n-1)*d)*0.5這個公式算,前面就不用輸入x100。
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-07-05
好吧,就算你要套用上面x100那個公式,也應該是s=n*[x1+x1+(n-1)*d]/2才對。不過這個也是不可行的,當你把代碼輸入以后Python會提示TypeError : unsupported operand type(s) for /: 'list' and 'int'
大概的意思就是Python無法確定你這個s是什么類型的變量,為什么呢,學到后面你會知道,Python中可以用[ ?]創建list,如L=['jfeijfsjsj','sfjsdljg'],然后你這個/又是用于整數之間運算的,所以這幾個放在一起系統就無法確認你這個s到底是什么類型的東西啦。
這正是為什么前面要先定義x100的原因,這樣就可以用s = (x1 + x100) * n / 2避免其他括號的使用而不造成歧義,得到正確答案。
也可以直接用s=n+(x1+x1+(n-1)*d)*0.5這個公式算,前面就不用輸入x100。