Split a message into multiple parts.

★★☆

Messaging and social networking apps often require a message to be split into a number of smaller messages. For example, Twitter was once 140 characters per tweet, now called X, it is 280. SMS messages were typically 160 characters.

Tweet

Make

Write a program that asks the user to enter a message and the maximum number of characters allowed in a single message. The program then outputs a list of each part of the message up to the maximum number of characters for each part.

Success Criteria

Remember to add a comment before a subprogram, selection or iteration statement to explain its purpose.

Complete the subprogram called tweets that:

  1. Takes two parameters, message, the message to be processed and num_chars, the maximum number of characters per single message.
  2. Returns a list of messages from the original message with each new message containing a maximum of num_chars characters.

Complete the main program so that:

  1. The user can input the message.
  2. The user can input the maximum number of characters per message.
  3. The list of messages is output.

Typical inputs and outputs from the program would be:

Enter the message: Hello
How many characters per message? :10
['Hello']
Enter the message: Hello, how are you today?
How many characters per message? :10
['Hello, how', ' are you t', 'oday?']
🆘 If you're really stuck, use this Parsons code sorting exercise
Complete program
# Tweet program

# -------------------------
# Subprograms
# -------------------------
# Return message as a list of elements, each being num_chars long
---
def tweets(message, num_chars):
---
    tweet_list = []
    tweet = ""
---
    # Add each character to a list
    for index in range(len(message)):
---
        tweet = tweet + message[index] 
---
        # Start a new tweet if num_chars reached
        if (index + 1) % num_chars == 0:
---
            tweet_list.append(tweet)
---
            tweet = ""
---
    # Add the last characters to the list if not exactly divisible by num_chars
    if tweet != "":
---
        tweet_list.append(tweet)
---
    return tweet_list
---


# -------------------------
# Main program
# -------------------------
---
message = input("Enter the message: ")
max_chars = int(input("How many characters per message? :"))
---
print(tweets(message, max_chars))