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

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

這樣做為什么不對?結果一直輸出1

sum = 0
x = 1
while (x <= 100) and (x%2 == 1)? :
??? sum = sum + x
??? x = x + 1
print sum

正在回答

5 回答

在while的第二次循環開始時,x已經值為2,所以條件判斷為false,即退出while循環,導致sum值只能為1

所以可以看出while循環的判斷條件有問題,應該使用if語句結構,將這條判斷語句x%2 == 1內置在循環體以內。



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

dong_brother 提問者

非常感謝!
2018-07-19 回復 有任何疑惑可以回復我~

因為當第一次循環完后,第二次就進不了循環了,x的值就一直是2


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

while 語句里是判斷條件真假,之后執行命令。而且條件語句里一般不用A and B模式

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

第二次x的值為2,所以x%2==1這個條件不成立,所以會退出while循環,直接輸出sum=1;你可以把(x%2==1)

改成 if x%2==0:

? ? ? ? ?continue

把這條語句加到while循環里面去

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

x = 1 的時候,條件一成立,x%2 == 1,條件成立,運行代碼塊得到sum = 1,x =2。繼續循環,x=2,條件一為true,條件二x%2==1不成立為false,and是且,所以最后為false,循環結束。

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

舉報

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

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

進入課程

這樣做為什么不對?結果一直輸出1

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

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

幫助反饋 APP下載

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

公眾號

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