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.

How do you print 2 numbers in python?

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

How do you print 2 numbers in python?

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

How do you print 2 numbers in python?

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.

How do you print 2 numbers in python?

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)

How do you print 2 numbers in python?

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

How do you print 2 numbers in python?

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.

How do you print 2 numbers in python?

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

How do you print 2 numbers in python?

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.