如果sum=sum+x的位置提前,為什么結果為5151
x=0 sum=0 while?True: ????x=x+1 ????sum=sum+x ????if?x>100: ????????break ????if?x%2==0: ????????continue print?sum
就是把sum=sum+x提前為什么輸出結果為5151?
x=0 sum=0 while?True: ????x=x+1 ????sum=sum+x ????if?x>100: ????????break ????if?x%2==0: ????????continue print?sum
就是把sum=sum+x提前為什么輸出結果為5151?
2016-06-17
舉報
2016-06-17
你這個不是計算所有質數,你的程序師計算100以內所有數的和,朋友
2016-08-20
又看了一遍,知道是怎么回事了。continue命令跳過的是它后面的代碼,繼續下一個循環。在題主寫的代碼中,sum=sum+x提前,而continue命令在最后。假如x=2,它不符合continue的條件,那么會跳過continue后面的代碼,繼續下一個循環,即計算x=3時的x=x+1,sum=sum+x...。問題是而continue后面沒有代碼,則這個條件對于篩選偶數并沒有用,故而計算的是0-100所有數的和。
2016-07-05
同問,不明白
2016-06-17
sum提前表示前1-100的總和,具體: x=0,sum=1 ? x=1,sum=1+2=3 ? x=2,sum=3+3=6.....?
其中的x是 x=x+1等號后面的 x
如果sum在后面時,sum=sum+x ? ?sum是0 ? ?x=100時,sum=0+100+1
2016-06-17
你這個continue寫的不對吧