How do I write a script to generate 10 random EVEN numbers and write them to a .txt file?

Dave Angel davea at
Mon Jul 8 14:27:06 CEST 2013

On 07/08/2013 08:01 AM, Kenz09 wrote:
> Hi, I have been given a task to do. I am a new to programming and Python.
> My task is to :
> -Create a function that is called from the main function, that accepts a number as a parameter and determines if the number is even or odd.
> the next one is,
> -To create another function that generates a random number, and basically when i print this function, it should give me a list of random number separated by a "," commma or in a list.
> -And lastly to enhance my script to generate 10 random EVEN numbers and write them to a .txt file.

One of your classmates has already posted the question.  However, you 
win the prize for a better subject line.  Or are you the same student, 
changing your name and wasting our time by starting a new thread.

> This what I have done so far.

Where's your main function?

> import random
> if __name__ == '__main__':
>      main()
>      for i in range(10):
>          print random.randrange(0, 101, 2)

Why is everything at top level, and not inside the function(s) ?

> with open ("C:\Users\Kenz09\Documents\Myproj.txt", "w") as f:
>      print f
> f = open("C:\Users\Kenz09\Documents\Myproj.txt", "a");

That semicolon comes from another language.  Very seldom any need for it 
in Python.

> print f
> value = (
> random.randrange (0, 101, 2),
> random.randrange(0, 201, 2),
> random.randrange(0, 301, 2)
> )

The reason the instructor told you to do 10 is probably to discourage 
you from typing separate statements for all 10.  You're undoubtedly 
supposed to use a loop.

> random_numbers[0]
> random_numbers[1]
> random_numbers[2]

When you asigned it, you called it value, but now you expect it to have 
another name?

> print f.write(str(value))
> print f.write(str(value1))
> print f.write(str(value2))
> f.close()

Why not start by doing the first statement of the assignment, and if you 
can't make it work, or don't understand some part of the question, ask 
again?  Show your work, not just a bunch of random statements, most of 
which won't execute.

If I were wording that first question, I'd say something like:

Create a function that accepts a integer as a parameter and determines 
if the number is even or odd, returning a boolean value accordingly.

Call that function multiple times from the main function, with a variety 
of values, indicating for each whether it's even or odd.


More information about the Python-list mailing list