[Tutor] Are there other ways of solving this exercise?

amt 0101amt at gmail.com
Thu Jan 12 15:24:59 CET 2012


Exercise 16, extra credit 3: There's too much repetition in this file.
Use strings, formats, and escapes to print out line1, line2, and line3
with just one target.write() command instead of 6.
Code from the book:


from sys import argv

script, filename = argv

print "We're going to erase %r." % filename
print "If you don't want that, hit CTRL-C (^C)."
print "If you do want that, hit RETURN."

raw_input("?")

print "Opening the file..."
target = open(filename,'w')

print "Truncating the file. Goodbye!"
target.truncate()

print "Now I'm going to ask you for three lines."

line1 = raw_input("line 1: ")
line2 = raw_input("line 2: ")
line3 = raw_input("line 3: ")

print "I'm going to write these to the file."

target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")

print "And finally, we close it."
target.close()




How I solved it after trial and error:

from sys import argv

script, filename = argv

print "We're going to erase %r." % filename
print "If you don't want that, hit CTRL-C (^C)."
print "If you do want that, hit RETURN."

raw_input("?")

print "Opening the file..."
target = open(filename, 'w')

print "Truncating the file. Goodbye!"
target.truncate()

print "Now I'm going to ask you for three lines."

line1 = raw_input("line 1: ")
line2 = raw_input("line 2: ")
line3 = raw_input("line 3: ")

print "I'm going to write these to the file."

target.write("%s\n%s\n%s\n" %(line1, line2, line3))

print "And finally, we close it."
target.close()

This is the only method I was able to figure out of solving the exercise.

Are there other ways of solving this exercise using strings, formats
and escapes like the author mentioned in the exercise question? If
yes, please write them.




Regards,amt.


More information about the Tutor mailing list