weixin_45490561
2020-03-03 11:35
采纳率: 68.4%
浏览 240

请问大佬们,这个输出为什么不正确?

如果这个代码中b=3,m=1的话不是应该输出60吗,为什么会输出62呢?

for yue in range(1,b):
        if yue==1 or 3 or 5 or 7 or 8 or 10 or 12:
            yuezongshu=yuezongshu+31
        elif yue==4 or 6 or 9 or 11:
            yuezongshu=yuezongshu+30
        else:
            if m==1:
                yuezongshu=yuezongshu+29
            else:
                yuezongshu=yuezongshu+28
    print(yuezongshu)
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • blownewbee 2020-03-03 11:53
    已采纳
     if yue in [1, 3, 5, 7, 8 , 10 , 12]:
     或者
     if yue==1 or yue==3 or yue==5 or yue==7 or yue==8 or yue==10 or yue==12:
    
    点赞 打赏 评论
  • 幸福丶如此 2020-03-03 12:10

    确实是60啊

    #!/usr/bin/env python
    #-*- coding:utf-8 -*-
    
    b=3
    m=1
    yuezongshu = 0
    for yue in range(1,b):
        if yue in [1,3,5,7,8,10,12]:
            yuezongshu = yuezongshu+31
        elif yue in [4,6,9,11]:
            yuezongshu = yuezongshu+30
        else:
            if m == 1:
                yuezongshu = yuezongshu+29
            else:
                yuezongshu=yuezongshu+28
    print(yuezongshu)
    
    
    点赞 打赏 评论

相关推荐 更多相似问题