How do you print 2 numbers in python?

This is just a snippet of my code:

print["Total score for %s is %s  ", name, score]

But I want it to print out:

"Total score for [name] is [score]"

where name is a variable in a list and score is an integer. This is Python 3.3 if that helps at all.

asked Mar 8, 2013 at 3:51

0

There are many ways to do this. To fix your current code using %-formatting, you need to pass in a tuple:

  1. Pass it as a tuple:

    print["Total score for %s is %s" % [name, score]]
    

A tuple with a single element looks like ['this',].

Here are some other common ways of doing it:

  1. Pass it as a dictionary:

    print["Total score for %[n]s is %[s]s" % {'n': name, 's': score}]
    

There's also new-style string formatting, which might be a little easier to read:

  1. Use new-style string formatting:

    print["Total score for {} is {}".format[name, score]]
    
  2. Use new-style string formatting with numbers [useful for reordering or printing the same one multiple times]:

    print["Total score for {0} is {1}".format[name, score]]
    
  3. Use new-style string formatting with explicit names:

    print["Total score for {n} is {s}".format[n=name, s=score]]
    
  4. Concatenate strings:

    print["Total score for " + str[name] + " is " + str[score]]
    

The clearest two, in my opinion:

  1. Just pass the values as parameters:

    print["Total score for", name, "is", score]
    

    If you don't want spaces to be inserted automatically by print in the above example, change the sep parameter:

    print["Total score for ", name, " is ", score, sep='']
    

    If you're using Python 2, won't be able to use the last two because print isn't a function in Python 2. You can, however, import this behavior from __future__:

    from __future__ import print_function
    
  2. Use the new f-string formatting in Python 3.6:

    print[f'Total score for {name} is {score}']
    

answered Mar 8, 2013 at 3:52

BlenderBlender

280k52 gold badges426 silver badges487 bronze badges

7

There are many ways to print that.

Let's have a look with another example.

a = 10
b = 20
c = a + b

#Normal string concatenation
print["sum of", a , "and" , b , "is" , c] 

#convert variable into str
print["sum of " + str[a] + " and " + str[b] + " is " + str[c]] 

# if you want to print in tuple way
print["Sum of %s and %s is %s: " %[a,b,c]]  

#New style string formatting
print["sum of {} and {} is {}".format[a,b,c]] 

#in case you want to use repr[]
print["sum of " + repr[a] + " and " + repr[b] + " is " + repr[c]]

EDIT :

#New f-string formatting from Python 3.6:
print[f'Sum of {a} and {b} is {c}']

answered Aug 11, 2016 at 13:07

Vikas GuptaVikas Gupta

10.3k4 gold badges30 silver badges42 bronze badges

1

Use: .format[]:

print["Total score for {0} is {1}".format[name, score]]

Or:

// Recommended, more readable code

print["Total score for {n} is {s}".format[n=name, s=score]]

Or:

print["Total score for" + name + " is " + score]

Or:

print["Total score for %s is %d" % [name, score]]

Or: f-string formatting from Python 3.6:

print[f'Total score for {name} is {score}']

Can use repr and automatically the '' is added:

print["Total score for" + repr[name] + " is " + repr[score]]

# or for advanced: 
print[f'Total score for {name!r} is {score!r}'] 

answered Jan 18, 2018 at 11:23

In Python 3.6, f-string is much cleaner.

In earlier version:

print["Total score for %s is %s. " % [name, score]]

In Python 3.6:

print[f'Total score for {name} is {score}.']

will do.

It is more efficient and elegant.

answered May 23, 2017 at 10:09

AbhishekAbhishek

4735 silver badges17 bronze badges

Keeping it simple, I personally like string concatenation:

print["Total score for " + name + " is " + score]

It works with both Python 2.7 an 3.X.

NOTE: If score is an int, then, you should convert it to str:

print["Total score for " + name + " is " + str[score]]

answered Apr 1, 2015 at 20:57

Paolo RovelliPaolo Rovelli

9,0402 gold badges56 silver badges37 bronze badges

Just follow this

grade = "the biggest idiot"
year = 22
print["I have been {} for {} years.".format[grade, year]]

OR

grade = "the biggest idiot"
year = 22
print["I have been %s for %s years." % [grade, year]]

And forget all others, else the brain won't be able to map all the formats.

Wolf

9,3847 gold badges59 silver badges102 bronze badges

answered Sep 22, 2017 at 7:11

TheExorcistTheExorcist

1,9091 gold badge18 silver badges25 bronze badges

1

Just try:

print["Total score for", name, "is", score]

answered Jul 30, 2014 at 5:00

sarorasarora

5041 gold badge6 silver badges10 bronze badges

Use f-string:

print[f'Total score for {name} is {score}']

Or

Use .format:

print["Total score for {} is {}".format[name, score]]

answered Jul 7, 2018 at 6:08

M.InnatM.Innat

13.9k6 gold badges43 silver badges78 bronze badges

2

print["Total score for %s is %s  " % [name, score]]

%s can be replace by %d or %f

strickt01

3,8591 gold badge14 silver badges31 bronze badges

answered Mar 3, 2016 at 16:51

If score is a number, then

print["Total score for %s is %d" % [name, score]]

If score is a string, then

print["Total score for %s is %s" % [name, score]]

If score is a number, then it's %d, if it's a string, then it's %s, if score is a float, then it's %f

answered Jul 11, 2016 at 19:53

SupercolbatSupercolbat

3111 gold badge8 silver badges18 bronze badges

This is what I do:

print["Total score for " + name + " is " + score]

Remember to put a space after for and before and after is.

answered Dec 21, 2015 at 9:51

The easiest way is as follows

print[f"Total score for {name} is {score}"]

Just put an "f" in front.

answered Feb 14 at 16:35

This was probably a casting issue. Casting syntax happens when you try to combine two different types of variables. Since we cannot convert a string to an integer or float always, we have to convert our integers into a string. This is how you do it.: str[x]. To convert to a integer, it's: int[x], and a float is float[x]. Our code will be:

print['Total score for ' + str[name] + ' is ' + str[score]]

Also! Run this snippet to see a table of how to convert different types of variables!

Booleans bool[]
Dictionaries dict[]
Floats float[]
Integers int[]
Lists list[]

answered Jan 1, 2021 at 21:57

How do I print two numbers on one line in Python?

To print on the same line in Python, add a second argument, end=' ', to the print[] function call.

How do you use .2f in Python?

2f is a placeholder for floating point number. So %d is replaced by the first value of the tuple i.e 12 and %. 2f is replaced by second value i.e 150.87612 . ... Python String Formatting..

How do I print two variables on the same line?

You can use the cat[] function to easily print multiple variables on the same line in R. This function uses the following basic syntax: cat[variable1, variable2, variable3, ...] The following examples show how to use this syntax in different scenarios.

Chủ Đề