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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

打印 1-100 之間的數字,跳過可被 3 和 5 整除的數字

打印 1-100 之間的數字,跳過可被 3 和 5 整除的數字

滄海一幻覺 2021-08-17 10:05:40
我想打印 1-100 之間的數字,跳過可被 3 和 5 整除的數字,當我使用代碼 1 時,我沒有得到正確的輸出,我正在計算 1-100#CODE1i=1a=1while i<=100:    if (a%3==0 and a%5==0) :           a=a+1    else:        print(a)        a=a+1    i=i+1但是當我使用 CODE-2 時,我得到了想要的結果#CODE2i=1a=1while i<=100:    if ((a%3 and a%5)==0) :        a=a+1    else:        print(a)        a=a+1    i=i+1注意代碼的第四行,為什么第一個代碼有問題?
查看完整描述

3 回答

?
夢里花落0921

TA貢獻1772條經驗 獲得超6個贊

考慮一下:


a = 10


(a%3 == 0) and (a%5 == 0)  # False

(a%3 and a%5) == 0         # True

第一次嘗試給出False錯誤,因為它需要同時滿足兩個條件;你需要or代替。如果仔細觀察,一些數字(例如15)被排除在外,與同時具有3和5作為因數的數字一致。


如果因為在第二次嘗試是正確的a是不整除或者3或5,則表達式計算得到False,并0 == False給出True。更慣用的寫法是:


not (a%3 and a%5)


查看完整回答
反對 回復 2021-08-17
?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

檢查這也有效!100%


def result(N):

           for num in range(N):

          if num % 3 == 0 and num % 5 == 0:

             print(str(num) + " ", end="")

          else:

             pass

    if __name__ == "__main__":

       N = 100

    

       result(N)


查看完整回答
反對 回復 2021-08-17
?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

在他所關注的層面上有一個更清晰的答案


a = 1


while a <= 100:


    if a%3 == 0 or a%5 ==0:

        a = a+1

    else:

        print(a)

        a = a+1


查看完整回答
反對 回復 2021-08-17
  • 3 回答
  • 0 關注
  • 328 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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