Project Euler #1: Sum of Multiples of 3 and 5 below 1000 Announcing the arrival of Valued...

At the end of Thor: Ragnarok why don't the Asgardians turn and head for the Bifrost as per their original plan?

What is known about the Ubaid lizard-people figurines?

Is the Standard Deduction better than Itemized when both are the same amount?

How to bypass password on Windows XP account?

What is the meaning of the new sigil in Game of Thrones Season 8 intro?

List *all* the tuples!

Seeking colloquialism for “just because”

Using audio cues to encourage good posture

porting install scripts : can rpm replace apt?

What is Arya's weapon design?

Why is my conclusion inconsistent with the van't Hoff equation?

Why am I getting the error "non-boolean type specified in a context where a condition is expected" for this request?

Bete Noir -- no dairy

Using et al. for a last / senior author rather than for a first author

Single word antonym of "flightless"

Why did the Falcon Heavy center core fall off the ASDS OCISLY barge?

Why do people hide their license plates in the EU?

When were vectors invented?

ListPlot join points by nearest neighbor rather than order

String `!23` is replaced with `docker` in command line

Why aren't air breathing engines used as small first stages

How to tell that you are a giant?

How do I name drop voicings

The logistics of corpse disposal



Project Euler #1: Sum of Multiples of 3 and 5 below 1000



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)Project Euler Problem 12 in PythonFunction to return the sum of multiples within a rangeProject Euler 78: Coin Partitions in PythonProject Euler #14: Longest Collatz sequenceProject Euler #15 in PythonProject Euler #4 - Largest Palindrome Project - PythonProject Euler problem #1 in Python 3Sum of multiples of 3 or 5 using functional programmingProject Euler 001 in C++Project Euler Problem 37 in Python





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







0












$begingroup$


def prob_1():
sum_mult=[] #Create an empty list which will take sum of multiples of 3 and 5
check_sum=0
for i in range(1,1000): #Take numbers till 1000
#if(i)
if( (i%3)==0 or (i%35)==0 ): #divisor condition
sum_mult.append(i)

return sum(sum_mult) #return sum of list


I am just starting out my journey as a programmer, here is my code and I would love to see any critical feedback and other alternative solutions maybe using some clever hack of using lambda function's etc.










share|improve this question









New contributor




DjVasu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







$endgroup$



















    0












    $begingroup$


    def prob_1():
    sum_mult=[] #Create an empty list which will take sum of multiples of 3 and 5
    check_sum=0
    for i in range(1,1000): #Take numbers till 1000
    #if(i)
    if( (i%3)==0 or (i%35)==0 ): #divisor condition
    sum_mult.append(i)

    return sum(sum_mult) #return sum of list


    I am just starting out my journey as a programmer, here is my code and I would love to see any critical feedback and other alternative solutions maybe using some clever hack of using lambda function's etc.










    share|improve this question









    New contributor




    DjVasu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.







    $endgroup$















      0












      0








      0





      $begingroup$


      def prob_1():
      sum_mult=[] #Create an empty list which will take sum of multiples of 3 and 5
      check_sum=0
      for i in range(1,1000): #Take numbers till 1000
      #if(i)
      if( (i%3)==0 or (i%35)==0 ): #divisor condition
      sum_mult.append(i)

      return sum(sum_mult) #return sum of list


      I am just starting out my journey as a programmer, here is my code and I would love to see any critical feedback and other alternative solutions maybe using some clever hack of using lambda function's etc.










      share|improve this question









      New contributor




      DjVasu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.







      $endgroup$




      def prob_1():
      sum_mult=[] #Create an empty list which will take sum of multiples of 3 and 5
      check_sum=0
      for i in range(1,1000): #Take numbers till 1000
      #if(i)
      if( (i%3)==0 or (i%35)==0 ): #divisor condition
      sum_mult.append(i)

      return sum(sum_mult) #return sum of list


      I am just starting out my journey as a programmer, here is my code and I would love to see any critical feedback and other alternative solutions maybe using some clever hack of using lambda function's etc.







      python performance python-3.x programming-challenge






      share|improve this question









      New contributor




      DjVasu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      DjVasu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited 4 mins ago









      AJNeufeld

      6,9641723




      6,9641723






      New contributor




      DjVasu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 52 mins ago









      DjVasuDjVasu

      11




      11




      New contributor




      DjVasu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      DjVasu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      DjVasu is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          1 Answer
          1






          active

          oldest

          votes


















          0












          $begingroup$

          I expect you made a typo. You don't want (i%35)==0, you want (i%5)==0.





          The PEP-8 style guide for Python requires 1 space before and after operators, and after commas. Use PyLint or equivalent tool to ensure you follow all of the PEP-8 guidelines.





          check_sum is unused, and can be omitted.





          The brackets around the if( ... ): condition are unnecessary. This is Python, not C, C++ or Java:



              if (i % 3) == 0 or (i % 5) == 0: #divisor condition




          There is no need to create a list just to add up all the numbers after the fact. You are only using each value once, so you could simply add the numbers up as you find them:



          def prob_1():

          sum_of_multiples = 0

          for i in range(1, 1000): # Take numbers up to but not including 1000
          if (i % 3) == 0 or (i % 5) == 0: #divisor condition
          sum_of_multiples += i

          return sum_of_multiples




          You should add """doc_strings""" to your functions:



          def prob_1():
          """
          Compute the sum of all the multiples of 3 or 5 below 1000.

          Returns:
          The sum of the multiples of 3 or 5, below 1000.
          """

          sum_of_multiples = 0

          for i in range(1, 1000): # Take numbers up to but not including 1000
          if (i % 3) == 0 or (i % 5) == 0: #divisor condition
          sum_of_multiples += i

          return sum_of_multiples




          You can use list comprehension and the sum(...) function to compute the result, without ever creating the list in memory:



          def prob_1():
          """
          Compute the sum of all the multiples of 3 or 5 below 1000.

          Returns:
          The sum of the multiples of 3 or 5, below 1000.
          """

          return sum(i for i in range(1000) if i % 3 == 0 or i % 5 == 0)




          You can also solve this problem by hand with a pen, a sheet of paper, a calculator and about 1 minute of your time. A program is entirely unnecessary.





          share











          $endgroup$














            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: "196"
            };
            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: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            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
            });


            }
            });






            DjVasu is a new contributor. Be nice, and check out our Code of Conduct.










            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f217598%2fproject-euler-1-sum-of-multiples-of-3-and-5-below-1000%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












            $begingroup$

            I expect you made a typo. You don't want (i%35)==0, you want (i%5)==0.





            The PEP-8 style guide for Python requires 1 space before and after operators, and after commas. Use PyLint or equivalent tool to ensure you follow all of the PEP-8 guidelines.





            check_sum is unused, and can be omitted.





            The brackets around the if( ... ): condition are unnecessary. This is Python, not C, C++ or Java:



                if (i % 3) == 0 or (i % 5) == 0: #divisor condition




            There is no need to create a list just to add up all the numbers after the fact. You are only using each value once, so you could simply add the numbers up as you find them:



            def prob_1():

            sum_of_multiples = 0

            for i in range(1, 1000): # Take numbers up to but not including 1000
            if (i % 3) == 0 or (i % 5) == 0: #divisor condition
            sum_of_multiples += i

            return sum_of_multiples




            You should add """doc_strings""" to your functions:



            def prob_1():
            """
            Compute the sum of all the multiples of 3 or 5 below 1000.

            Returns:
            The sum of the multiples of 3 or 5, below 1000.
            """

            sum_of_multiples = 0

            for i in range(1, 1000): # Take numbers up to but not including 1000
            if (i % 3) == 0 or (i % 5) == 0: #divisor condition
            sum_of_multiples += i

            return sum_of_multiples




            You can use list comprehension and the sum(...) function to compute the result, without ever creating the list in memory:



            def prob_1():
            """
            Compute the sum of all the multiples of 3 or 5 below 1000.

            Returns:
            The sum of the multiples of 3 or 5, below 1000.
            """

            return sum(i for i in range(1000) if i % 3 == 0 or i % 5 == 0)




            You can also solve this problem by hand with a pen, a sheet of paper, a calculator and about 1 minute of your time. A program is entirely unnecessary.





            share











            $endgroup$


















              0












              $begingroup$

              I expect you made a typo. You don't want (i%35)==0, you want (i%5)==0.





              The PEP-8 style guide for Python requires 1 space before and after operators, and after commas. Use PyLint or equivalent tool to ensure you follow all of the PEP-8 guidelines.





              check_sum is unused, and can be omitted.





              The brackets around the if( ... ): condition are unnecessary. This is Python, not C, C++ or Java:



                  if (i % 3) == 0 or (i % 5) == 0: #divisor condition




              There is no need to create a list just to add up all the numbers after the fact. You are only using each value once, so you could simply add the numbers up as you find them:



              def prob_1():

              sum_of_multiples = 0

              for i in range(1, 1000): # Take numbers up to but not including 1000
              if (i % 3) == 0 or (i % 5) == 0: #divisor condition
              sum_of_multiples += i

              return sum_of_multiples




              You should add """doc_strings""" to your functions:



              def prob_1():
              """
              Compute the sum of all the multiples of 3 or 5 below 1000.

              Returns:
              The sum of the multiples of 3 or 5, below 1000.
              """

              sum_of_multiples = 0

              for i in range(1, 1000): # Take numbers up to but not including 1000
              if (i % 3) == 0 or (i % 5) == 0: #divisor condition
              sum_of_multiples += i

              return sum_of_multiples




              You can use list comprehension and the sum(...) function to compute the result, without ever creating the list in memory:



              def prob_1():
              """
              Compute the sum of all the multiples of 3 or 5 below 1000.

              Returns:
              The sum of the multiples of 3 or 5, below 1000.
              """

              return sum(i for i in range(1000) if i % 3 == 0 or i % 5 == 0)




              You can also solve this problem by hand with a pen, a sheet of paper, a calculator and about 1 minute of your time. A program is entirely unnecessary.





              share











              $endgroup$
















                0












                0








                0





                $begingroup$

                I expect you made a typo. You don't want (i%35)==0, you want (i%5)==0.





                The PEP-8 style guide for Python requires 1 space before and after operators, and after commas. Use PyLint or equivalent tool to ensure you follow all of the PEP-8 guidelines.





                check_sum is unused, and can be omitted.





                The brackets around the if( ... ): condition are unnecessary. This is Python, not C, C++ or Java:



                    if (i % 3) == 0 or (i % 5) == 0: #divisor condition




                There is no need to create a list just to add up all the numbers after the fact. You are only using each value once, so you could simply add the numbers up as you find them:



                def prob_1():

                sum_of_multiples = 0

                for i in range(1, 1000): # Take numbers up to but not including 1000
                if (i % 3) == 0 or (i % 5) == 0: #divisor condition
                sum_of_multiples += i

                return sum_of_multiples




                You should add """doc_strings""" to your functions:



                def prob_1():
                """
                Compute the sum of all the multiples of 3 or 5 below 1000.

                Returns:
                The sum of the multiples of 3 or 5, below 1000.
                """

                sum_of_multiples = 0

                for i in range(1, 1000): # Take numbers up to but not including 1000
                if (i % 3) == 0 or (i % 5) == 0: #divisor condition
                sum_of_multiples += i

                return sum_of_multiples




                You can use list comprehension and the sum(...) function to compute the result, without ever creating the list in memory:



                def prob_1():
                """
                Compute the sum of all the multiples of 3 or 5 below 1000.

                Returns:
                The sum of the multiples of 3 or 5, below 1000.
                """

                return sum(i for i in range(1000) if i % 3 == 0 or i % 5 == 0)




                You can also solve this problem by hand with a pen, a sheet of paper, a calculator and about 1 minute of your time. A program is entirely unnecessary.





                share











                $endgroup$



                I expect you made a typo. You don't want (i%35)==0, you want (i%5)==0.





                The PEP-8 style guide for Python requires 1 space before and after operators, and after commas. Use PyLint or equivalent tool to ensure you follow all of the PEP-8 guidelines.





                check_sum is unused, and can be omitted.





                The brackets around the if( ... ): condition are unnecessary. This is Python, not C, C++ or Java:



                    if (i % 3) == 0 or (i % 5) == 0: #divisor condition




                There is no need to create a list just to add up all the numbers after the fact. You are only using each value once, so you could simply add the numbers up as you find them:



                def prob_1():

                sum_of_multiples = 0

                for i in range(1, 1000): # Take numbers up to but not including 1000
                if (i % 3) == 0 or (i % 5) == 0: #divisor condition
                sum_of_multiples += i

                return sum_of_multiples




                You should add """doc_strings""" to your functions:



                def prob_1():
                """
                Compute the sum of all the multiples of 3 or 5 below 1000.

                Returns:
                The sum of the multiples of 3 or 5, below 1000.
                """

                sum_of_multiples = 0

                for i in range(1, 1000): # Take numbers up to but not including 1000
                if (i % 3) == 0 or (i % 5) == 0: #divisor condition
                sum_of_multiples += i

                return sum_of_multiples




                You can use list comprehension and the sum(...) function to compute the result, without ever creating the list in memory:



                def prob_1():
                """
                Compute the sum of all the multiples of 3 or 5 below 1000.

                Returns:
                The sum of the multiples of 3 or 5, below 1000.
                """

                return sum(i for i in range(1000) if i % 3 == 0 or i % 5 == 0)




                You can also solve this problem by hand with a pen, a sheet of paper, a calculator and about 1 minute of your time. A program is entirely unnecessary.






                share













                share


                share








                edited 1 min ago

























                answered 7 mins ago









                AJNeufeldAJNeufeld

                6,9641723




                6,9641723






















                    DjVasu is a new contributor. Be nice, and check out our Code of Conduct.










                    draft saved

                    draft discarded


















                    DjVasu is a new contributor. Be nice, and check out our Code of Conduct.













                    DjVasu is a new contributor. Be nice, and check out our Code of Conduct.












                    DjVasu is a new contributor. Be nice, and check out our Code of Conduct.
















                    Thanks for contributing an answer to Code Review Stack Exchange!


                    • 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.


                    Use MathJax to format equations. MathJax reference.


                    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%2fcodereview.stackexchange.com%2fquestions%2f217598%2fproject-euler-1-sum-of-multiples-of-3-and-5-below-1000%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

                    is 'sed' thread safeWhat should someone know about using Python scripts in the shell?Nexenta bash script uses...

                    How do i solve the “ No module named 'mlxtend' ” issue on Jupyter?

                    Pilgersdorf Inhaltsverzeichnis Geografie | Geschichte | Bevölkerungsentwicklung | Politik | Kultur...