Search code examples
pythonstringpython-3.xrandomio

Write each prime number in different line (Python 3)


I would like to write random prime numbers in new lines to a text file, but when I run my script it writes all numbers in one line. It's very likely that I don't understand something correctly.

This is my original code:

import random
file = open("prime.txt", "w")
i = 0
while( i<=100 ):
    temp=str(random.randint(1, 500) )
    file.writelines(temp)
    i += 1
file.close()

According to the answers, I just have to use the write() method with newline character (\n) instead of the writelines() method.


Solution

  • You can just add a newline when writing each number to the file. Also use file.write() instead of file.writelines(). Just use this as your code:

    import random
    file = open("primes.txt", "w")
    i=0
    while(i<=100):
        temp=str(random.randint(1,500))
        file.write(temp  + "\n")  #add a newline after each number
        i+=1
    file.close()