Question: 1. Please write a Python 3 Program and show all of the oupout. Write a format string that will take: ( 2, 123.4567, 10000) and

1. Please write a Python 3 Program and show all of the oupout.

Write a format string that will take:

( 2, 123.4567, 10000)

and produce:

'file_002 : 123.46, 1.00e+04'

Note: the idea behind the file_002 is that if you have a bunch of files that you want to name with numbers that can be sorted, you need to pad the numbers with zeros to get the right sort order.

For example:

In [10]: fnames = ['file1', 'file2', 'file10', 'file11'] In [11]: fnames.sort() In [12]: fnames Out[12]: ['file1', 'file10', 'file11', 'file2'] 

That is probably not what you want. However:

In [1]: fnames = ['file001', 'file002', 'file010', 'file011'] In [3]: sorted(fnames) Out[3]: ['file001', 'file002', 'file010', 'file011'] 

That works!

So you want to find a string formatting operator that will pad the number with zeros for you.

Dynamically Building up format strings

Rewrite:

"the 3 numbers are: {:d}, {:d}, {:d}".format(1,2,3)

to take an arbitrary number of values.

Trick: You can pass in a tuple of values to a function with a *:

In [52]: t = (1,2,3) In [53]: "the 3 numbers are: {:d}, {:d}, {:d}".format(*t) Out[53]: 'the 3 numbers are: 1, 2, 3' 

The idea here is that you may have a tuple of three numbers, but might also have 4 or 5 or....

So you can dynamically build up the format string to accommodate the length of the tuple.

The string object has the format() method, so you can call it with a string that is bound to a name, not just a string literal. For example:

In [16]: fstring = "{:d}, {:d}" In [17]: nums = (34, 56) In [18]: fstring.format(*nums) Out[18]: '34, 56' 

So how would you make an fstring that was the right length for an arbitrary tuple?

Put your code in a function that will return the formatted string like so:

In [20]: formatter((2,3,5)) Out[20]: 'the 3 numbers are: 2, 3, 5' In [21]: formatter((2,3,5,7,9)) Out[21]: 'the 5 numbers are: 2, 3, 5, 7, 9' 

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!