Use Python Multiply Strings Tutorial

This Use Python Multiply Strings Tutorial explains how to multiply in python, multiply numbers in a string python, python multiply characters in string, How to multiply string with an integer in python, and even more multiply large numbers represented as strings in python. After reviewing all these python multiplication strings concepts, you can easily understand and code in python programming language.

The Tutorial of Using Python to Multiply Strings involves with the following concepts: 

About Python Multiply String

In previous tutorials, we have seen how to use python multiplication, although you have to understand and learn things like Python can be used to multiply things other than numbers? Indeed, you can use Python to multiply strings, which is really pretty cool when you think about it. You can take a string and double, triple, even quadruple it with only a little bit of Python.

In the python multiply strings concept, you can find some different ways that we can go about multiplying strings, based on how you want your multiplied strings to be formatted. Have a glance at the code snippets below to see how it works.

How Multiply String in Python Works?

To simply multiply a string, this is the most straightforward way to go about doing it:

2*'string'

The output for the code above would be:

stringstring

Obviously, this works, but it’s not perfect if you don’t want your multiplied string to read as one large, giant string. If you want your strings to be separated and not just read as one long word, you’ll have to change the code up a bit, and change your string to a tuple, like this:

4*('string',)

The output for the code above would be:

('string', 'string', 'string', 'string')

Much more legible.

You can also use Python to multiply sets of words, strings, or tuples. Check out the code snippet below to see how it’s done:

3*('good', 'morning')

The output for the code above would look like this:

('good', 'morning', 'good', 'morning', 'good', 'morning)

As you’re probably starting to see, utilizing Python to multiply strings isn’t complex at all. It’s quite cool that you can use the same concept you’d use to multiply numbers (our handy * symbol) to multiply words and other types of objects. Sadly, this identical concept doesn’t actually work with the division operation in the same way it does with multiplication, but you can do something related to addition. That we will discuss in another python tutorial elaborately.

Also Read: 

How to Multiply in Python with Examples

Look at the below instance to understand how to multiply in python easily:

Multiply two integer numbers

num1=int(input("Enter the first number: "))
#input value for variable num1
num2=int(input("Enter the second number: "))
#input value for variable num2
mul=num1*num2;
#perform multiplication operation
print("the product of given numbers is: ",mul)
#display the product

Output:

When the above code is compiled and executed, it produces the following results
Enter the first number: 23
Enter the second number is: 32
the product of the given numbers is 736

How to multiply a string in python

#Python 2.x:
#print 'string' * (number of iterations)
print '-' * 3

#Python 3.x:
#print ('string' * (number of iterations))
print('-' * 3)

Multiplication of String with int in Python

In order to multiply a string with an integer in Python, we will apply def function with parameters of string and integer and it will duplicate the string n times.

Example 1: 

def row(s, n):
return s * n
print(row('Hello all ', 5))

Result: 

” Hello all Hello all Hello all Hello all Hello all ”

Example 2: 

#multiplying string with a integer
"superman " * 5
# It will return a new string

Output:

Once you write the code on how to multiply string with an integer in python, it will gives the output as a ” superman superman superman superman superman”. Because the input number n is 5 and string s is “superman” so it returns duplicate string for 5 times.

Multiply Large Numbers represented as Strings

When you take two positive numbers as strings and they may be very large where it doesn’t fit in long long int then use python multiply of two numbers as strings.

Python Program on Multiply Two Numbers as Strings

# Multiplies str1 and str2, and prints result.
def multiply(num1, num2):
    len1 = len(num1)
    len2 = len(num2)
    if len1 == 0 or len2 == 0:
        return "0"
 
    # will keep the result number in vector
    # in reverse order
    result = [0] * (len1 + len2)
     
    # Below two indexes are used to
    # find positions in result.
    i_n1 = 0
    i_n2 = 0
 
    # Go from right to left in num1
    for i in range(len1 - 1, -1, -1):
        carry = 0
        n1 = ord(num1[i]) - 48
 
        # To shift position to left after every
        # multiplication of a digit in num2
        i_n2 = 0
 
        # Go from right to left in num2
        for j in range(len2 - 1, -1, -1):
             
            # Take current digit of second number
            n2 = ord(num2[j]) - 48
         
            # Multiply with current digit of first number
            # and add result to previously stored result
            # at current position.
            summ = n1 * n2 + result[i_n1 + i_n2] + carry
 
            # Carry for next iteration
            carry = summ // 10
 
            # Store result
            result[i_n1 + i_n2] = summ % 10
 
            i_n2 += 1
 
            # store carry in next cell
        if (carry > 0):
            result[i_n1 + i_n2] += carry
 
            # To shift position to left after every
            # multiplication of a digit in num1.
        i_n1 += 1
         
        # print(result)
 
    # ignore '0's from the right
    i = len(result) - 1
    while (i >= 0 and result[i] == 0):
        i -= 1
 
    # If all were '0's - means either both or
    # one of num1 or num2 were '0'
    if (i == -1):
        return "0"
 
    # generate the result string
    s = ""
    while (i >= 0):
        s += chr(result[i] + 48)
        i -= 1
 
    return s
 
# Driver code
str1 = "1235421415454545454545454544"
str2 = "1714546546546545454544548544544545"
 
if((str1[0] == '-' or str2[0] == '-') and
   (str1[0] != '-' or str2[0] != '-')):
    print("-", end = '')
 
 
if(str1[0] == '-' and str2[0] != '-'):
    str1 = str1[1:]
elif(str1[0] != '-' and str2[0] == '-'):
    str2 = str2[1:]
elif(str1[0] == '-' and str2[0] == '-'):
    str1 = str1[1:]
    str2 = str2[1:]
print(multiply(str1, str2))

Output: 

2118187521397235888154583183918321221520083884298838480662480

Leave a Reply

Your email address will not be published.