Python 2.7: %d, %s, and float()

后端 未结 2 1446
庸人自扰
庸人自扰 2021-01-01 17:37

I am attempting to teach myself a little coding through the \"learn python the hard way\" book and am struggling with %d / %s / %r when tying to display a floating point num

相关标签:
2条回答
  • 2021-01-01 18:15

    See String Formatting Operations:

    %d is the format code for an integer. %f is the format code for a float.

    %s prints the str() of an object (What you see when you print(object)).

    %r prints the repr() of an object (What you see when you print(repr(object)).

    For a float %s, %r and %f all display the same value, but that isn't the case for all objects. The other fields of a format specifier work differently as well:

    >>> print('%10.2s' % 1.123) # print as string, truncate to 2 characters in a 10-place field.
            1.
    >>> print('%10.2f' % 1.123) # print as float, round to 2 decimal places in a 10-place field.
          1.12
    
    0 讨论(0)
  • 2021-01-01 18:23

    Try the following:

    print "First is: %f" % (first)
    print "Second is: %f" % (second)
    

    I am unsure what answer is. But apart from that, this will be:

    print "DONE: %f DIVIDED BY %f EQUALS %f, SWEET MATH BRO!" % (first, second, ans)
    

    There's a lot of text on Format String Specifiers. You can google it and get a list of specifiers. One thing I forgot to note:

    If you try this:

    print "First is: %s" % (first)
    

    It converts the float value in first to a string. So that would work as well.

    0 讨论(0)
提交回复
热议问题