Quiz 6b Question 7————An Introduction to Interactive Programming in Python



Question 7

Convert the following English description into code.

  1. Initialize n to be 1000. Initialize numbers to be a list of numbers from 2 to n, but not including n.
  2. With results starting as the empty list, repeat the following as long as numbers contains any numbers.
    • Add the first number in numbers to the end of results.
    • Remove every number in numbers that is evenly divisible by (has no remainder when divided by) the number that you had just added to results.

How long is results?

To test your code, when n is instead 100, the length of results is 25.

代码:

lis = list(range(2,1000))
print lis[0]
res =[]
print len(res)
res.append(lis[0])
while len(lis)>1:
    for i in lis:
        if i % res[-1]==0:
            lis.remove(i)
    res.append(lis[0])
print lis

print len(res)

你可能感兴趣的:(Quiz 6b Question 7————An Introduction to Interactive Programming in Python)