亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

3-4中這樣的代碼為什么錯誤


x1 = 1

d = 3

n = 100

x100 = 298

#s = (x1+x100)*n/2

s=0

for i in range (100)

s = s+3*i-2

print s


正在回答

5 回答

test

0 回復 有任何疑惑可以回復我~

python對格式要求很嚴格,特別是縮進

0 回復 有任何疑惑可以回復我~
#1

Rhyme_ylin

test
2019-08-05 回復 有任何疑惑可以回復我~

你寫的for i in range(100)相當于for i in range(0,100),所以第一次循環中i=0,3*i-2=-2。

第二次循環3*i-2=1。以此類推,第三,四,五…一直到第一百次循環中3*i-2的值為4,7,9…295。

s的值為14650,比正確值14950少了300,這是因為第一次循環你多減去了2,最后一次循環只給s加上了3*99-2,把3*100-2落下了2+(3*100-2)正好為300.....也許你會問為什么最后一次循環i為什么等于99而不是100,因為range(0,100)其實是一個list:[0,1,2,3,4...99]而不包含100。另外你的for i in range(100)后面沒加冒號,后面也沒有縮進。。。

正確方法:

s=0
for i in range (1,101):
??? s = s+3*i-2
print(s)

0 回復 有任何疑惑可以回復我~

第一種公式當然很簡單所以我注釋掉想用for循環寫,沒有加: 但是加了之后顯示公式不對

0 回復 有任何疑惑可以回復我~

#注釋了這行代碼

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758396    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

3-4中這樣的代碼為什么錯誤

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號