我正在处理欧拉项目问题,而我现在面临的问题是最不常见的问题。现在我可以走简单路线并获得因素,然后找到那个数字,但我想让我的生活变得更加艰难。
这是我到目前为止用Python编写的代码:
i = 0
j = 0
count = []
for i in range (1,10):
for j in range(1,11):
k = i%j
count.append(k)
print(count)
现在,当我打印出来时,我得到一个数组,每次循环时,前面的信息都附加在上面。如何才能使之前的信息不被追加?
第二,一旦得到该信息,我如何查看数组中的每个值,只打印出那些等于0的元素?我觉得我必须使用all()
函数,但由于某种原因我不知道如何使用它。
感谢任何和所有帮助。
答案 0 :(得分:0)
对于第一个问题,您应该知道变量的范围。只需在外循环内部和内循环开始之前定义变量count
。
如果你只想要零元素,你可以试试这个。
print [element for element in count if element == 0]
答案 1 :(得分:0)
如果我理解你的问题,你问题的答案是这样的。
i = 0
j = 0
for i in range (1,10):
# Resetting so that count will not have previous values
count = []
for j in range(1,11):
k = i%j
count.append(k)
# printing all the indexes where the value is '0'
print([index for index, item in enumerate(count) if item == 0])
答案 2 :(得分:0)
你知道你的extern循环范围,所以你可以用这种方式编写代码:
count = []
for i in range (1,10):
for j in range(1,11):
k = i%j
if(i == 9):
count.append(k)
print(count)
print("Without 0:")
print([x for x in count if x is not 0])