• 1
    数据输入输出
    • 任务
  • 2
    条件语句
    • 任务
  • 3
    for循环
    • 任务
  • 4
    字符串
    • 任务
  • 5
    while循环
    • 任务
  • 6
    列表
    • 任务
  • 7
    二维数组
    • 任务
  • 8
    字典
    • 任务
  • 9
    集合
    • 任务
  • 10
    函数与递归
    • 任务
  • к

课程 4. Lines

难度:

任务«NFT»

💻 Python

想象一下,你是——一个热门NFT系列的创造者,为你的新代币想出了一个独特的名字。在将其推向市场之前,你想对名字进行一次简单的技术分析,以确保它符合你的“幸运”加密规则。为此,你需要编写一个程序,对输入的字符串执行若干操作。

任务:   编写一个程序,接收一行字符串(NFT名称),并依次输出:

  1. 该字符串的第三个字符。
  2. 该字符串的倒数第二个字符。
  3. 该字符串的前五个字符。
  4. 整个字符串,去掉最后两个字符。
  5. 所有偶数索引的字符(索引从0开始,即第1、3、5……个字符)。
  6. 所有奇数索引的字符(即第2、4、6……个字符)。
  7. 所有字符按相反顺序排列。
  8. 从最后一个字符开始,按相反顺序排列的所有字符。
  9. 该字符串的总长度。

每个结果应在新的一行上显示。

输入格式

NFT 的名称(一行)。输入一行,可以包含空格或不含空格。

输出格式

行分析的结果,每行一个(共9行:其中8行包含行或符号,最后一行是数字)。

示例

输入

加密朋克

输出

y
K
Crypt
Cryptopu
Cytopn
rpo-uks
sknupotpyrc
syptrc
12

提示

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
测试 1
测试 2
测试 3
测试 4
测试 5
测试 6
测试 7
测试 8
测试 9
测试 10
开发者解答
# Запрашиваем у пользователя строку для анализа
nft_name = input()

# 1) Выводим третий символ этой строки (индекс 2, так как счет начинается с 0)
print(nft_name[2])

# 2) Выводим предпоследний символ этой строки (используем отрицательный индекс -2)
print(nft_name[-2])

# 3) Выводим первые пять символов этой строки (срез от начала до 5-го элемента, не включая его)
print(nft_name[:5])

# 4) Выводим всю строку, кроме последних двух символов (срез от начала до -2 элемента)
print(nft_name[:-2])

# 5) Выводим все символы с четными индексами (срез от начала до конца с шагом 2)
print(nft_name[::2])

# 6) Выводим все символы с нечетными индексами (срез от элемента с индексом 1 до конца с шагом 2)
print(nft_name[1::2])

# 7) Выводим все символы в обратном порядке (срез от начала до конца с шагом -1)
print(nft_name[::-1])

# 8) Выводим все символы через один в обратном порядке (срез от начала до конца с шагом -2)
print(nft_name[::-2])

# 9) Выводим длину данной строки (используем встроенную функцию len)
print(len(nft_name))

🎉 恭喜! 🎉

你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。

AD

广告

red-snake blue-snake green-snake

正在运行代码...

AI助手

你好!我是你的编程助手。随时向我提问关于 Python 的问题——我可以解释函数、方法,并帮助你完成当前任务!