On 8 July 2013 13:05, Sandile Mnukwa <sandile.mnu...@gmail.com> wrote: > Hi Joshua,
Hello. You replied off-list (to me only, not to Python-list). I imagine this was a mistake, so I'm posting to Python-list again. If this wasn't a mistake, then I apologize and suggest telling people when you mean to reply off-list. Also, you top-posted, which isn't the right thing to do. This means you wrote your reply above the copy of the text you were replying to -- you should write below. You should also delete all of the parts that you aren't responding to, so people know what you are talking about. > Thanks for the help so far. > Just been panicking about learning the language... > > 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, You have done: def main(): pass So you know how to define a *main function*. This should take a parameter. Do you know how to make a function accept a parameter? Once you have that parameter, you need to check whether it is even or odd. If you don't know how to do this, check the link I gave in my last post or try a Google search for "python check number even odd". Knowing how to look for answers to simple (and later complicated) problems is important to being a good programmer. > -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. OK, that's good. You know how to generate random numbers (random.randrange), so now you want to define a function. def generate_numbers(): ... You want to *return* a *list* of *random numbers*: list_of_random_numbers = [] for i in range(10): random_number = <make a random number> # You fill this in list_of_random_numbers.append(random_number) then you want to *return* the *list_of_random_numbers*. Do you know how to return values? > -And lastly to enhance my script to generate 10 random EVEN numbers and write > them to a .txt file. (This task is the most important of them all) You know how to generate 10 random even numbers. I know you know this because you have done: > for i in range(10): > print random.randrange(0, 101, 2) You should assign each random number to a name (using "="). *Inside* your loop, you want to do SOME_FILE.write(str(RANDOM_NUMBER)) > What I have done so far. > > import random > > if __name__ == '__main__': > main() > for i in range(10): > print random.randrange(0, 101, 2) When I said to put this in the main function, I meant the *function*, not here. This works, but it isn't what people normally do. See how you call "main()" inside here? Thus, when you have the > for i in range(10): > print random.randrange(0, 101, 2) inside "main()" it will get run anyway. Does this make sense? > with open ("C:\Users\Kenz09\Documents\Myproj.txt", "w") as f: > print f When I said use "with", I mean use "with" *everywhere*, not just here. So you should use this same pattern in the other places you open files. You will need to indent the *whole* of the code that requires use of the file "f" when you do this. > f = open("C:\Users\Kenz09\Documents\Myproj.txt", "a"); > print f > > value = ( > random.randrange (0, 101, 2), > random.randrange(0, 201, 2), > random.randrange(0, 301, 2) > ) > > random_numbers[0] > random_numbers[1] > random_numbers[2] > > print f.write(str(value)) > print f.write(str(value1)) > print f.write(str(value2)) > f.close() Remember that I'm telling you this so that you know what to do, not so you can take the code I give you. I will not give you complete solutions -- if you ask what "5 + 5" is I will show you how to work out "4 + 4", and then you can apply that to the original problem. -- http://mail.python.org/mailman/listinfo/python-list