![](/img/trans.png)
[英]How to print numbers from range but exclude a number by a given divisible number
[英]I want to exclude all numbers that aren't divisible by 7 and that are not multiples of 5 in a range of numbers from (0,300)
基本上我必須得到一個可以被 7 整除但不能被 5 的倍數整除的數字列表。但是由於某種原因,當我設置條件時,它告訴我我有錯誤。
for i in [x for x in xrange(0,100) if x%7 ==0 and if x%5 !=0 ]:
print i
我知道你按照列表理解的方式發布了一些東西,但它有點難以閱讀。 所以有幾件事...
因此,考慮到這一點,您基本上是在尋找 0-300 之間可以被 7 整除但不是 5 的倍數的任何數字。
意味着我們有一些事情......
所以讓我們一行一行地看
for i in range(0,301):
好的,現在您不需要像示例中那樣的嵌套 for 循環列表理解。 現在,您需要知道“如果” i 是____...所以我們需要一個 if 語句。
if i%7==0 and i%5!=0:
看到邏輯了嗎? 當然,if 語句在我們的 for 循環內,以循環我們范圍內的所有值。
最后,如果我們的“i”符合我們的標准,那么我們可以打印所有值。
print(i)
所以,我們的最終代碼看起來像......
for i in range(0,301):
if (i % 7 == 0) and (i % 5 != 0):
print(i)
當然,有一些方法可以使這更優雅,但這是總體思路。
列表理解:
party = [i for i in range(0,301) if i%7==0 and i%5!=0]
print(party)
將它們全部存儲在一個列表中,以便您可以隨時訪問它們。 或者您當然可以在不分配的情況下打印它。
編輯:標題和你在正文中所說的有點矛盾。 閱讀完我自己的答案后,我不完全確定這是否是您要查找的內容,但這就是我遇到的情況。 希望能幫助到你!
您的列表理解不正確。 它應該類似於:
[x for x in xrange(100) if x%5 and not x%7]
更好(更有效)將類似於
[x for x in xrange (7, 100, 7) if x%5]
更好的是......不,我們現在就到此為止。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.