为了账号安全,请及时绑定邮箱和手机立即绑定

5-5 任务中while条件已经写入x%2==1(x为奇数)的条件为什么不对?

sum = 0

 x = 1

 while x<100 and x%2==1:    

     sum=sum+x    

     x=x+1 

print sum 

为什么这么执行结果就是1(错误的),而改成x=x+2就能运行出2500?我的这个while条件已经写入了x是奇数的条件,为什么不对呢?

正在回答

5 回答

x=x+1时,运行到第二轮时x=2,while值为False,程序就停止了。

改为x=x+2,运行到第二轮时x=3,while值为True。以此地推

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

Jannicicy 提问者

非常感谢!
2017-11-24 回复 有任何疑惑可以回复我~

问一下这个%代表的是什么意思?

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

Jannicicy 提问者

%表示取余数的意思。偶数除以2余数为0,即表示为x%2==0【满足x%2==0的就是偶数】,与此同理,奇数余数为1,即满足x%2==1条件的即为奇数。
2017-11-24 回复 有任何疑惑可以回复我~
#2

silly_LcK 回复 Jannicicy 提问者

谢谢了.
2017-11-25 回复 有任何疑惑可以回复我~
#3

Jannicicy 提问者 回复 silly_LcK

不同客气~
2017-11-25 回复 有任何疑惑可以回复我~

  当x为偶数时x%2 ==1是 Fault ,and后while的条件是Fault,终止了while循环,所以x=2时就结束了,结果是1

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

Jannicicy 提问者

非常感谢(* ̄︶ ̄*)
2017-11-24 回复 有任何疑惑可以回复我~

while的作用是判断是否进入下一次循环,判断是否是奇数应该放到while里面,不然循环会停止。

while x<100

    if x%2==1;

        

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

拔剑战天

while x<100 if x%2==1:
2017-11-23 回复 有任何疑惑可以回复我~
#2

Jannicicy 提问者

非常感谢(* ̄︶ ̄*)
2017-11-24 回复 有任何疑惑可以回复我~

应为从1开始每隔两位数字为奇数

列如  x = 1

x = x + 1 ==2

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

Jannicicy 提问者

非常感谢(* ̄︶ ̄*)
2017-11-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

5-5 任务中while条件已经写入x%2==1(x为奇数)的条件为什么不对?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信