首先,我是Python的新手。我试图通过使用模运算%
来确定是否有数字,让我们说167是素数。
如,
让167 % n = some value i
当167 % 1
和167 % 167
时,它应该返回0,对于range(2,166)
中的n,它应该给出167 % n
的余数。我遇到的问题是我试图在167 % n
n = 1 ~ 167
时打印剩余部分,但不知道如何获取列表索引的值(应该是剩余部分)
所以,这就是我所拥有的:
L = [] #creates empty list
i=0 #initialize i?
for i in range(1, 168) :
if 167 % i == 0 :
print ("There is no remainder")
else :
167 % i == x # x should be the value of the remainder
L[i].append(x) #attempting to add x ... to the indices of a list.
print(L[x]) #print values of x.
如果我可以使用while循环它会更好,这应该更清楚。因此,虽然i
从1-167迭代,但它应该将结果x
添加到列表的索引中,我想打印这些结果。
任何推荐人?任何帮助赞赏!!非常感谢。
答案 0 :(得分:0)
这将创建一个不等于零的所有余数的列表:
L = []
for i in range(1, 168) :
remainder = 167 % i
if remainder == 0 :
print("There is no remainder")
else:
L.append(remainder)
print(remainder)
>>> len(L)
165
您的代码中存在许多问题:
i = 0
没有意义,因为它在循环之前未被使用并在循环中被覆盖。 167 % i == x
将余数与不存在的x
进行比较。您希望将结果分配给x
x = 167 % i
。 L
附加到索引i
的{{1}}元素,但是您希望将L[i].append(x)
追加到x
L
}。 L.append(x)
获取刚刚添加的值,但需要使用print(L[x])
,更简单,只需使用print(L[i])
打印remainder
。