• 1
    Input and Output Data
    • Tasks
  • 2
    Conditions
    • Tasks
  • 3
    For Loop
    • Tasks
  • 4
    Strings
    • Tasks
  • 5
    While Loop
    • Tasks
  • 6
    Lists
    • Tasks
  • 7
    Two-Dimensional Arrays
    • Tasks
  • 8
    Dictionaries
    • Tasks
  • 9
    Sets
    • Tasks
  • 10
    Functions and Recursion
    • Tasks
  • к

Занятие 4. Lines

Difficulty level:

Task«Hashtag»

You work as a SMM manager and found a very long and popular hashtag on the social network, for example, & nbsp; #the best led control . You want to use in your publication only a part of this hashtag, for example, the word & nbsp; day .

rn

write a program that will do it that will do it The following:

rn
    rn
  1. read the keyboard of the hashtag. 14pt; "> read the initial index (the number from which start).
  2. rn
  3. read the final index (number, read the final index (number, read the final index (number. on which to end, inclusive).
  4. rn
  5. #). If not, get out the error.
  6. rn
  7. rn
  8. rn

    Input format

    first line: hashtag (line).


    Third line: the final index for extraction (integer).

    Output format

    or the selected part of the hashtag (line), or error message (line).

    Example

    Input

    #pythonisthebest
    1
    6

    Output

    python

    Hint

    All about strings in Python: from the basics to useful tricks

    A string in Python is an ordered sequence of characters. To create a string, it must be enclosed in single ('...'), double ("...") or even triple quotes ("""...""" or "'..."'), which are especially useful for multi-line texts.

    The key feature of strings in Python is their immutability. This means that after creating a string, you cannot change its individual characters. Any operation that "modifies" a row actually creates a new one.

    string1 = "Hello, World!"
    string2 = 'Python is fun'
    # Example of a multiline string
    multiline_string = """This is a string
    that takes
    up several lines of code."""
    

    Indexing of rows

    Each character in the string has its own unique number, or index. Indexing allows us to access any single character.

    It is important to remember: Indexing in Python always starts with 0, not 1. An attempt to access a non-existent index will cause an error IndexError.

    w = "Python"
    print(w[0]) # Output: P
    print(w[1]) # Output: y
    print(w[2]) #Output: t
    print(w[3]) # Output: h
    print(w[4]) # Output: o (not 0, as in the original example)
    

    There is also negative indexing, which is very convenient for accessing characters from the end of a string, where -1 is the last character, -2 is the penultimate, and so on.

    print(w[-1]) # Output: n (last character)
    print(w[-2]) # Output: o (penultimate character)
    

    Slicing lines

    Slices are a powerful tool for extracting a part of a string (substring). They allow you to get not a single character, but a whole range.

    General syntax: string[start : end : step]

    • start : the index from which the slice begins (this character is included in the result).
    • end : the index at which the slice ends (this character is not included in the result).
    • step : determines the interval at which characters should be extracted (the default is 1).

    Examples of cross-sections

    Substring extraction

    string = "Hello, World!"
    substring = string[0:5] # Characters 0 through 4 inclusive
    print(substring) # Output: Hello
    

    Missing starting or ending index If you omit the initial index, the slice will start from the very beginning of the row. If you omit the final one, it will continue to the very end.

    string = "Hello, World!"
    substring1 = string[:5] # From the beginning to index 5 (not inclusive)
    substring2 = string[7:]   # From index 7 to the end of the line
    print(substring1) # Output: Hello
    print(substring2) # Output: World!
    

    Using a step The step allows you to "jump over" the symbols. For example, step 2 takes every second character.

    string = "Hello, World!"
    substring = string[::2] # Every second character from the beginning to the end
    print(substring) # Output: Hlo ol!
    

    Negative indexes in slices They can be combined to get the parts of the string from the end.

    string = "Hello, World!"
    substring = string[-6:-1] # We start with the 6th character from the end and go to the 1st from the end.
    print(substring) # Output: World
    

    Useful trick: inverting the string The easiest and most popular way to flip a string is to use a slice with a step -1.

    string = "Hello, World!"
    reversed_string = string[::-1]
    print(reversed_string) # Output: !dlroW ,olleH
    

    Adding and multiplying strings

    Addition (concatenation) is performed using the + operator. It "glues" the lines into one new one.

    str1 = "Hello"
    str2 = "World"
    result = str1 + ", " + str2 + "!"
    print(result) # Output: Hello, World!
    

    Important advice: You cannot add a string with a number directly. To do this, the number must first be converted to a string using the str() function..

    # print("Age: " + 25) # Will cause TypeError
    print("Age:" + str(25)) # Correct! Output: Age: 25
    

    Multiplication is performed using the * operator, which repeats the string a set number of times. This is useful for creating separators or formatting.

    string = "Go"
    result = string * 3
    print(result) # Output: GoGoGo
    print("-" * 20) # Output: --------------------
    

    Useful string operations

    String length The built-in len() function returns the number of characters in a string.

    my_string = "Hello"
    print(len(my_string))  # Will output: 5
    

    Checking for substring occurrence The in and not in operators allow you to check whether one string is contained inside another. The result will be True or False.

    Remember: this check is case-sensitive! 'd' and 'D' are different characters.

    name = "Daniil"
    password = "Qwerty2000!"
    print('D' in name) # Outputs: True
    print('d' in name) # Outputs: False
    print('3' not in password) # Outputs: True
    

    Iterating through characters in a string

    The string can be iterated through in the for loop. There are two main ways, and the choice depends on the task.

    Method 1: A simple search (more "pythonic") This method is used when you only need the characters of the string themselves. It's simpler and more readable.

    a = "1516 the best"
    for char in a: # The char variable sequentially takes the value of each character
        if char in "1234567890":
            print(char)
    

    Method 2: Index search This method is needed when not only the symbol itself is important to you, but also its position (index).

    a = "1516 the best"
    for i in range(len(a)): #i will take values from 0 to len(a)-1
        if a[i] in "1234567890":
    print(f"The character '{a[i]}' was found at position {i}")
    

    Conclusion and what's next?

    We have reviewed the basic but very important operations.:

    • Indexing to access individual characters.
    • Slices are an incredibly flexible tool for extracting substrings.
    • Concatenation (+) and repetition (*) to create new strings.

    This is the foundation upon which all work with text in Python is based. To move on, study the string methods. These are built-in functions that allow you to do even more useful things with strings, for example:

    • .lower() / .upper() reduce the entire string to lowercase or uppercase.
    • .strip() - remove spaces and line breaks at the beginning and at the end.
    • .replace('old', 'new') replace all occurrences of one substring with another.
    • .split() - split a string into a list by separator (for example, by space).
    • .startswith('prefix') / .endswith('suffix') check whether the string begins or ends with a certain sequence of characters.
main.py
Test 1
Test 2
Test 3
Test 4
Test 5
Test 6
Test 7
Test 8
Test 9
Test 10
Developer’s solution
# Считываем хештег с клавиатуры
hashtag = input()

# Считываем начальный и конечный индексы
start_index = int(input())
end_index = int(input())

# Проверяем, начинается ли строка с символа #
if not hashtag.startswith('#'):
    print("Ошибка: Строка должна начинаться с символа #")
else:
    # Проверяем корректность индексов
    length = len(hashtag)
    
    # Начальный индекс не может быть больше конечного
    if start_index > end_index:
        print("Ошибка: Неверные индексы!")
    # Оба индекса должны быть в пределах длины строки (от 0 до length-1)
    elif start_index < 0 or end_index >= length:
        print("Ошибка: Неверные индексы!")
    else:
        # Используем цикл for для извлечения части строкы
        result = ""
        # Проходим по символам от start_index до end_index включительно
        for i in range(start_index, end_index + 1):
            result += hashtag[i]
        print(result)

🎉 Congratulations! 🎉

You did an excellent job with the task! It was a challenging problem, but you found the correct solution. You are one step closer to mastering programming! Keep up the good work, because every stage you pass makes you even stronger.

AD

Advertisement

red-snake blue-snake green-snake

Running your code...

Помощник ИИ

Привет! Я твой помощник по программированию. Задавай любые вопросы по Python, я могу рассказать о функциях, методах, обьяснить то, что тебе не понятно, а так же о текущей задаче!