Prime Numbers, Sieve of Erasthosthenes , Python












0















I am working on a program that prints in a range, the list of a possible prime numbers when the user inputs the highest integer. Basically the sieve of Erasthothenes.



Now, this block of code is supposed to iterate for all of the values of consecInt(a variable that stores a list of 2 to that highest integer) and remove their multiples. But for some reason i dont quite understand, it only works for the first value.



print("                 Sieve of Erasthothenesn    Program that generates the possible prime numbers within a given range")

n = int(input("nEnter the highest range: "))

def primeList(n):

j = 2
consecInt = [int(i) for i in range(2, n+1)]

#A = [i != False for i in range(2, n+1)]

for i in consecInt:
p = i
while j <= n:
c = j*p
if c <= n:
consecInt.remove(c)
j+=1

print(consecInt)

primeList(n)









share|improve this question



























    0















    I am working on a program that prints in a range, the list of a possible prime numbers when the user inputs the highest integer. Basically the sieve of Erasthothenes.



    Now, this block of code is supposed to iterate for all of the values of consecInt(a variable that stores a list of 2 to that highest integer) and remove their multiples. But for some reason i dont quite understand, it only works for the first value.



    print("                 Sieve of Erasthothenesn    Program that generates the possible prime numbers within a given range")

    n = int(input("nEnter the highest range: "))

    def primeList(n):

    j = 2
    consecInt = [int(i) for i in range(2, n+1)]

    #A = [i != False for i in range(2, n+1)]

    for i in consecInt:
    p = i
    while j <= n:
    c = j*p
    if c <= n:
    consecInt.remove(c)
    j+=1

    print(consecInt)

    primeList(n)









    share|improve this question

























      0












      0








      0








      I am working on a program that prints in a range, the list of a possible prime numbers when the user inputs the highest integer. Basically the sieve of Erasthothenes.



      Now, this block of code is supposed to iterate for all of the values of consecInt(a variable that stores a list of 2 to that highest integer) and remove their multiples. But for some reason i dont quite understand, it only works for the first value.



      print("                 Sieve of Erasthothenesn    Program that generates the possible prime numbers within a given range")

      n = int(input("nEnter the highest range: "))

      def primeList(n):

      j = 2
      consecInt = [int(i) for i in range(2, n+1)]

      #A = [i != False for i in range(2, n+1)]

      for i in consecInt:
      p = i
      while j <= n:
      c = j*p
      if c <= n:
      consecInt.remove(c)
      j+=1

      print(consecInt)

      primeList(n)









      share|improve this question














      I am working on a program that prints in a range, the list of a possible prime numbers when the user inputs the highest integer. Basically the sieve of Erasthothenes.



      Now, this block of code is supposed to iterate for all of the values of consecInt(a variable that stores a list of 2 to that highest integer) and remove their multiples. But for some reason i dont quite understand, it only works for the first value.



      print("                 Sieve of Erasthothenesn    Program that generates the possible prime numbers within a given range")

      n = int(input("nEnter the highest range: "))

      def primeList(n):

      j = 2
      consecInt = [int(i) for i in range(2, n+1)]

      #A = [i != False for i in range(2, n+1)]

      for i in consecInt:
      p = i
      while j <= n:
      c = j*p
      if c <= n:
      consecInt.remove(c)
      j+=1

      print(consecInt)

      primeList(n)






      python-3.x iteration






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 24 '18 at 0:42









      ChiChi

      13




      13
























          1 Answer
          1






          active

          oldest

          votes


















          0














          You should be resetting j to 2 at every iteration of the for loop. Other than that, there are a couple other errors.



          def primeList(n):
          consecInt = [int(i) for i in range(2, n+1)]

          for i in consecInt:
          j = 2 ## reset `j` to 2 at every iteration
          while j*i <= n: ## it is sufficient to check `j*i <= n` rather than `j <= n`
          c = j*i

          if c in consecInt: ## if `c` is NOT in consecInt, a ValueError will be raised
          consecInt.remove(c)

          j += 1

          print(consecInt)

          primeList(n)





          share|improve this answer
























          • Thank you very much. I appreciate. It worked fine

            – Chi
            Nov 24 '18 at 13:28











          • @Chi if you've found this answer helpful, please consider marking this as the accepted answer.

            – TrebuchetMS
            Nov 24 '18 at 14:06











          • How do i do that?

            – Chi
            Nov 25 '18 at 16:11











          • This may help: stackoverflow.com/help/accepted-answer. There'll be a checkmark next to my answer. If you think my answer deserves to be accepted, do accept it.

            – TrebuchetMS
            Nov 25 '18 at 16:16













          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53454250%2fprime-numbers-sieve-of-erasthosthenes-python%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          You should be resetting j to 2 at every iteration of the for loop. Other than that, there are a couple other errors.



          def primeList(n):
          consecInt = [int(i) for i in range(2, n+1)]

          for i in consecInt:
          j = 2 ## reset `j` to 2 at every iteration
          while j*i <= n: ## it is sufficient to check `j*i <= n` rather than `j <= n`
          c = j*i

          if c in consecInt: ## if `c` is NOT in consecInt, a ValueError will be raised
          consecInt.remove(c)

          j += 1

          print(consecInt)

          primeList(n)





          share|improve this answer
























          • Thank you very much. I appreciate. It worked fine

            – Chi
            Nov 24 '18 at 13:28











          • @Chi if you've found this answer helpful, please consider marking this as the accepted answer.

            – TrebuchetMS
            Nov 24 '18 at 14:06











          • How do i do that?

            – Chi
            Nov 25 '18 at 16:11











          • This may help: stackoverflow.com/help/accepted-answer. There'll be a checkmark next to my answer. If you think my answer deserves to be accepted, do accept it.

            – TrebuchetMS
            Nov 25 '18 at 16:16


















          0














          You should be resetting j to 2 at every iteration of the for loop. Other than that, there are a couple other errors.



          def primeList(n):
          consecInt = [int(i) for i in range(2, n+1)]

          for i in consecInt:
          j = 2 ## reset `j` to 2 at every iteration
          while j*i <= n: ## it is sufficient to check `j*i <= n` rather than `j <= n`
          c = j*i

          if c in consecInt: ## if `c` is NOT in consecInt, a ValueError will be raised
          consecInt.remove(c)

          j += 1

          print(consecInt)

          primeList(n)





          share|improve this answer
























          • Thank you very much. I appreciate. It worked fine

            – Chi
            Nov 24 '18 at 13:28











          • @Chi if you've found this answer helpful, please consider marking this as the accepted answer.

            – TrebuchetMS
            Nov 24 '18 at 14:06











          • How do i do that?

            – Chi
            Nov 25 '18 at 16:11











          • This may help: stackoverflow.com/help/accepted-answer. There'll be a checkmark next to my answer. If you think my answer deserves to be accepted, do accept it.

            – TrebuchetMS
            Nov 25 '18 at 16:16
















          0












          0








          0







          You should be resetting j to 2 at every iteration of the for loop. Other than that, there are a couple other errors.



          def primeList(n):
          consecInt = [int(i) for i in range(2, n+1)]

          for i in consecInt:
          j = 2 ## reset `j` to 2 at every iteration
          while j*i <= n: ## it is sufficient to check `j*i <= n` rather than `j <= n`
          c = j*i

          if c in consecInt: ## if `c` is NOT in consecInt, a ValueError will be raised
          consecInt.remove(c)

          j += 1

          print(consecInt)

          primeList(n)





          share|improve this answer













          You should be resetting j to 2 at every iteration of the for loop. Other than that, there are a couple other errors.



          def primeList(n):
          consecInt = [int(i) for i in range(2, n+1)]

          for i in consecInt:
          j = 2 ## reset `j` to 2 at every iteration
          while j*i <= n: ## it is sufficient to check `j*i <= n` rather than `j <= n`
          c = j*i

          if c in consecInt: ## if `c` is NOT in consecInt, a ValueError will be raised
          consecInt.remove(c)

          j += 1

          print(consecInt)

          primeList(n)






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 24 '18 at 8:32









          TrebuchetMSTrebuchetMS

          2,62811023




          2,62811023













          • Thank you very much. I appreciate. It worked fine

            – Chi
            Nov 24 '18 at 13:28











          • @Chi if you've found this answer helpful, please consider marking this as the accepted answer.

            – TrebuchetMS
            Nov 24 '18 at 14:06











          • How do i do that?

            – Chi
            Nov 25 '18 at 16:11











          • This may help: stackoverflow.com/help/accepted-answer. There'll be a checkmark next to my answer. If you think my answer deserves to be accepted, do accept it.

            – TrebuchetMS
            Nov 25 '18 at 16:16





















          • Thank you very much. I appreciate. It worked fine

            – Chi
            Nov 24 '18 at 13:28











          • @Chi if you've found this answer helpful, please consider marking this as the accepted answer.

            – TrebuchetMS
            Nov 24 '18 at 14:06











          • How do i do that?

            – Chi
            Nov 25 '18 at 16:11











          • This may help: stackoverflow.com/help/accepted-answer. There'll be a checkmark next to my answer. If you think my answer deserves to be accepted, do accept it.

            – TrebuchetMS
            Nov 25 '18 at 16:16



















          Thank you very much. I appreciate. It worked fine

          – Chi
          Nov 24 '18 at 13:28





          Thank you very much. I appreciate. It worked fine

          – Chi
          Nov 24 '18 at 13:28













          @Chi if you've found this answer helpful, please consider marking this as the accepted answer.

          – TrebuchetMS
          Nov 24 '18 at 14:06





          @Chi if you've found this answer helpful, please consider marking this as the accepted answer.

          – TrebuchetMS
          Nov 24 '18 at 14:06













          How do i do that?

          – Chi
          Nov 25 '18 at 16:11





          How do i do that?

          – Chi
          Nov 25 '18 at 16:11













          This may help: stackoverflow.com/help/accepted-answer. There'll be a checkmark next to my answer. If you think my answer deserves to be accepted, do accept it.

          – TrebuchetMS
          Nov 25 '18 at 16:16







          This may help: stackoverflow.com/help/accepted-answer. There'll be a checkmark next to my answer. If you think my answer deserves to be accepted, do accept it.

          – TrebuchetMS
          Nov 25 '18 at 16:16






















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53454250%2fprime-numbers-sieve-of-erasthosthenes-python%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          404 Error Contact Form 7 ajax form submitting

          How to know if a Active Directory user can login interactively

          TypeError: fit_transform() missing 1 required positional argument: 'X'