题解 | #圆周率的截取#

圆周率的截取

https://www.nowcoder.com/practice/cf8c7858d3ae48ccadb660b05d3cead5

知识点

字符串的索引与切片

字符串索引:

字符串中的字符可以通过索引来访问,其中索引从0开始,表示第一个字符,然后递增到字符串的长度减1。字符串的索引可以是正数(从左往右数)或负数(从右往左数,从-1开始)。

示例:

my_string = "Hello, World!"
first_char = my_string[0]  # 获取第一个字符
last_char = my_string[-1]  # 获取最后一个字符
print(first_char)  # 输出:H
print(last_char)   # 输出:!

字符串切片:

字符串切片用于获取字符串中的子字符串,它通过指定起始索引和结束索引来定义切片的范围。切片的语法是 string[start:end],其中 start 是切片的起始索引(包括在切片中),end 是切片的结束索引(不包括在切片中)。

示例:

my_string = "Hello, World!"
substring = my_string[7:12]  # 获取从索引7到11的子字符串
print(substring)  # 输出:World

你还可以省略起始索引或结束索引,以表示从字符串的开头或末尾开始切片:

my_string = "Hello, World!"
substring1 = my_string[:5]   # 从开头到索引4的子字符串
substring2 = my_string[7:]   # 从索引7到字符串末尾的子字符串
print(substring1)  # 输出:Hello
print(substring2)  # 输出:World!

还可以使用负数索引来表示相对于字符串末尾的位置:

my_string = "Hello, World!"
substring = my_string[-6:-1]  # 从倒数第6个字符到倒数第2个字符的子字符串
print(substring)  # 输出:World

需要注意的是,切片操作返回的子字符串包括起始索引对应的字符,但不包括结束索引对应的字符。

字符串索引和切片在处理文本数据时非常有用,它们允许你访问和操作字符串中的各个部分。

字符串切片和列表切片的区别

字符串的切片和列表的切片在概念上相似,但有一些重要的区别:

  1. 可变性

    • 字符串是不可变的数据类型,意味着一旦创建,就不能更改字符串的内容。因此,字符串切片操作返回一个新的字符串,而不是在原始字符串上进行修改。

    • 列表是可变的数据类型,可以通过切片操作来修改列表的内容。切片操作返回一个新的列表,但你可以使用切片来替换列表的部分元素。

  2. 类型

    • 字符串切片返回一个字符串,即使切片的范围包含一个字符也是如此。

    • 列表切片返回一个新的列表。

示例:

# 字符串切片
my_string = "Hello, World!"
substring = my_string[7:12]  # 返回一个新的字符串
print(substring)  # 输出:World

# 列表切片
my_list = [1, 2, 3, 4, 5]
sublist = my_list[1:4]  # 返回一个新的列表
print(sublist)  # 输出:[2, 3, 4]

# 修改列表切片
my_list[1:4] = [6, 7, 8]  # 替换列表中的一部分元素
print(my_list)  # 输出:[1, 6, 7, 8, 5]
  1. 操作的对象

    • 字符串切片操作适用于字符串类型。

    • 列表切片操作适用于列表类型或其他可变序列类型。

总之,字符串和列表的切片有相似之处,但在可变性、返回类型和操作的对象上有一些关键区别。字符串切片返回一个新的字符串,而列表切片返回一个新的列表,同时列表切片可以用于修改列表的内容,而字符串切片不能修改原始字符串。根据你的需求和操作目标,你可以选择使用适当的切片操作。

完整代码

str = input()
n = int(input())
print(str[n])
print(str[:n+2])
全部评论

相关推荐

Java面试先知:我也是和你一样的情况,hr 说等开奖就行了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务