Sum and Division example (Python)

37,091

Solution 1

def sumdiv7(limit):
    for i in range(limit):
        result = sum(range(i*7)) / 7
        print "For", i, ", sumdiv = ", result

Example:

>>> sumdiv7(4)
For 0 , sumdiv =  0
For 1 , sumdiv =  3
For 2 , sumdiv =  13
For 3 , sumdiv =  30

The trick is very simple, you want to sum multiples of 7,

To get the ith multiple of 7, it's just i*7

range is a python function to get a list of numbers from 0 to x

sum sums a list.

Just put these pieces together

Solution 2

The direct answer:

def sum_to_number_divided_by_seven(i):
  return sum(range(i+1)) / 7

The more efficient answer:

def sum_to_number_divided_by_seven(i):
  return (i*(i+1))/14
Share:
37,091
eozzy
Author by

eozzy

UI Designer & Front-end Developer

Updated on November 17, 2020

Comments

  • eozzy
    eozzy over 3 years
    >>> sum((1, 2, 3, 4, 5, 6, 7))
    28
    >>> 28/7
    4.0
    >>> sum((1,2,3,4,5,6,7,8,9,10,11,12,13,14))
    105
    >>> 105/7
    15.0
    >>>
    

    How do I automate this sum and division using a loop maybe?

    Edit: Maybe I wasn't clear - I want a loop to keep doing the sum (of multiples of 7, eg 1-7, 1-14, 1-21 etc..) until it reaches x (x is the user input)

    Okay, figured it out:

    def sum_and_div_of_multiples_of_7(x):
      y = 7
      while (y <= x):
        mof7 = range(1,y)
        print ('mof7 is', mof7)
    
        total = sum(mof7)
        print ('total =', total)
    
        div = total/7
        print ('div =', int(div), '\n')
    
        y = y+7     # increase y
    
    x = 70
    sum_and_div_of_multiples_of_7(x)