請問這個是哪里有問題呢?謝謝!
num?=?0 sum?=?0 while?num?<=?1000: ????if?num?%?2?==?1: ????????continue ???sum?=?sum?+?num ????num?=?num?+?1 print(sum)
num?=?0 sum?=?0 while?num?<=?1000: ????if?num?%?2?==?1: ????????continue ???sum?=?sum?+?num ????num?=?num?+?1 print(sum)
2021-08-02
舉報
2021-08-02
你下次可以在每次循環(huán)都打印一下num和sum,那有你就可以自己發(fā)現(xiàn)bug了?,F(xiàn)在的代碼,可以想一下,第一次循環(huán),開始num=0,跑完后sum=0,num=1。第二次開始num=1,然后num&2==1成立,執(zhí)行continue跳過這次循環(huán)開始第三次循環(huán),但第三次num還是等于1,判斷還是成立,這就導(dǎo)致后面變成了死循環(huán)了,因為后面num一直都是1,那就永遠(yuǎn)小于1000。解決方法很簡單,使用continue前,num也要+1就成
2021-08-02
continue 前要讓num加一,否則你的num一直都是0,一直在執(zhí)行if 和continue。(continue執(zhí)行了是會跳過之后的語句不執(zhí)行直接開始新的循環(huán)的)
2021-08-02
continue 前要讓num加一,否則你的num一直都是0,一直在執(zhí)行if 和continue。(continue執(zhí)行了是會跳過之后的語句不執(zhí)行直接開始新的循環(huán)的)
2021-08-02
continue 前要讓num加一,否則你的num一直都是0,一直在執(zhí)行if 和continue。(continue執(zhí)行了是會跳過之后的語句不執(zhí)行直接開始新的循環(huán)的)