Python “字符串操作” ——Python面试100道实战题目练习,巩固知识、检查技术、成功就业

news2024/12/30 1:03:23

本文主要是作为Python中列表的一些题目,方便学习完Python的元组之后进行一些知识检验,感兴趣的小伙伴可以试一试,含选择题、判断题、实战题、填空题,答案在第五章。

在做题之前可以先学习或者温习一下Python的列表,推荐阅读下面这篇文章:

Python全网最全基础课程笔记(十一)——字符串所有操作,跟着思维导图和图文来学习,爆肝2w字,无数代码案例!-CSDN博客

通过这些题目,学习者可以检验自己对Python字典基础知识的掌握程度。

编程不仅是技术的堆砌,更是灵魂的创造,每一次代码的跳动,都是向世界宣告你的不凡!

  • 博客主页:长风清留扬-CSDN博客
  • 系列专栏:Python基础专栏
  • 每天更新大数据相关方面的技术,分享自己的实战工作经验和学习总结,尽量帮助大家解决更多问题和学习更多新知识,欢迎评论区分享自己的看法
  • 感谢大家点赞👍收藏⭐评论

第一章 选择题

题目1:在Python中,如何获取字符串"Hello, World!"中第一个字符?
A. "Hello, World!"[0]
B. "Hello, World!"[1]
C. "Hello, World!"[-1]
D. "Hello, World!"[len("Hello, World!")]

题目2:字符串"python"'python'之间的主要区别是什么?
A. 没有任何区别,Python中字符串可以用单引号或双引号表示。
B. 使用单引号的是字符串常量,双引号的是变量。
C. 使用单引号的是单行字符串,双引号的是多行字符串。
D. 使用单引号的是Python 2的语法,双引号的是Python 3的语法。

题目3:以下哪个Python表达式可以计算字符串"Python Programming"中字符'P'出现的次数?
A. "Python Programming".count('P')
B. "Python Programming".find('P')
C. "Python Programming".index('P')
D. "Python Programming".replace('P', '')

题目4:如何将字符串"hello world"转换为全大写形式?
A. "hello world".upper()
B. "hello world".capitalize()
C. "hello world".title()
D. "hello world".swapcase()

题目5:以下哪个方法用于移除字符串" Hello, World! "两端的空格?
A. .strip()
B. .rstrip()
C. .lstrip()
D. .trim()

题目6:在Python中,如何连接字符串"Hello""World"
A. "Hello" + "World"
B. "Hello" - "World"
C. "Hello" * "World"
D. "Hello" / "World"

题目7:以下哪个函数用于在字符串中查找子串的首次出现位置?
A. .index()
B. .find()
C. .startswith()
D. .endswith()

题目8:字符串"Python3.8"中,索引为4的字符是什么?
A. 't'
B. 'h'
C. 'o'
D. 'n'

题目9:如何检查字符串"hello"是否以'h'开头?
A. "hello".startswith('h')
B. "hello".endswith('h')
C. "hello".index('h')
D. "hello".find('h')

题目10:以下哪个表达式可以用来检查字符串"Python"是否包含子串"thon"
A. "Python" in "thon"
B. "thon" in "Python"
C. "Python".contains("thon")
D. "Python".include("thon")

题目11:如何分割字符串"apple,banana,cherry"为列表['apple', 'banana', 'cherry']
A. .split(',')
B. .join(',')
C. .partition(',')
D. .rpartition(',')

题目12:在Python中,字符串是不可变的(immutable)意味着什么?
A. 字符串一旦创建,其值就不能被改变。
B. 字符串的索引可以改变。
C. 字符串可以转换为其他类型,但不可以从其他类型转换而来。
D. 字符串的字符顺序可以重新排列。

题目13:如何替换字符串"Hello, World!"中所有的'World''Python'
A. .replace('World', 'Python')
B. .substitute('World', 'Python')
C. .find('World').replace('World', 'Python')
D. .index('World').replace('World', 'Python')

题目14:以下哪个方法用于检查字符串是否全为数字字符?
A. .isdigit()
B. .isalpha()
C. .isalnum()
D. .isnumeric()

题目15:字符串"python"的ASCII码值(假设指的是第一个字符'p'的ASCII码)是多少?
A. 112
B. 80
C. 'p'
D. 'P'

题目16:如何格式化字符串,将变量name="Alice"age=30插入到"My name is %s and I am %d years old."中?
A. %"My name is %s and I am %d years old.", name, age
B. "My name is %s and I am %d years old." % (name, age)
C. .format(name, age)
D. f"My name is {name} and I am {age} years old."

题目17:以下哪个表达式用于去除字符串" hello world "左侧的空格?
A. .strip()
B. .lstrip()
C. .rstrip()
D. .trim()

题目18:字符串"Hello\nWorld"中有多少个换行符?
A. 0
B. 1
C. 2
D. 字符串中不包含换行符,\n只是表示方式

题目19:如何判断字符串"123"是否可以被转换为整数?
A. 使用try...except块尝试转换,捕获ValueError
B. .isnumeric()
C. .isdigit()
D. 以上都可以,但.isdigit()是最直接的方法

题目20:以下哪个字符串方法可以用来找到子串最后一次出现的位置?
A. .rfind()
B. .rindex()
C. .find()
D. .index()

题目21:如何计算字符串"hello world"'o'出现的次数?
A. .count('o')
B. .find('o')
C. .index('o')
D. .search('o')

题目22:字符串"Python is fun!"的长度是多少?
A. 13
B. 14
C. 15
D. 字符串包含空格和标点,长度计算方式不确定

题目23:如何检查字符串"abc123"是否同时包含字母和数字?
A. 使用正则表达式
B. .isalnum()
C. .isalpha() 和 .isdigit() 结合使用
D. .isalnum() 和 .isalpha() 结合使用

题目24:如何将字符串"hello"转换为大写形式?
A. .upper()
B. .capitalize()
C. .title()
D. .swapcase()

题目25:字符串"Hello, world!"'H'的索引是多少?
A. 0
B. 1
C. 字符串索引从1开始,所以无法确定
D. 字符串索引可以是负数,表示从末尾开始计数

题目26:以下哪个是Python中的字符串格式化方法之一,但它不是旧式的%格式化?
A. .format()
B. f-string(格式化字符串字面量)
C. % 格式化
D. .str()(注意:这不是一个格式化方法)

题目27:如何检查字符串"Python3.8"是否以"Python"开头?
A. .startswith('Python')
B. .endswith('Python')
C. .contains('Python')
D. 使用if 'Python' in "Python3.8":

题目28:字符串"abc123"通过.zfill(10)方法处理后,结果是什么?
A. "abc123"
B. "00000abc123"
C. "abc12300000"
D. 抛出异常,因为非数字字符串不能使用.zfill()

题目29:以下哪个是Python中的字符串分割方法,但它返回的是一个生成器而不是列表?
A. .split()
B. .splitlines()
C. .rsplit()(注意:这也返回列表)
D. .partition()(返回元组,但非生成器)
E. .splitlines(keepends=True, universal_newlines=True)(虽然这实际上不返回生成器,但考虑到问题表述的模糊性)

题目30:字符串"Python Programming"如何被分割成包含单个字符的列表?
A. .split()
B. [char for char in "Python Programming"]
C. .join(',')
D. .char()(注意:这不是一个字符串方法)

题目31:字符串"123abc"中的数字部分可以通过哪种方式最方便地提取?
A. 使用.isdigit()方法
B. 使用正则表达式
C. 将字符串转换为列表,然后遍历列表
D. 字符串没有直接的方法可以只提取数字部分

题目32:字符串"hello""world"如何连接成一个新的字符串?
A. 使用+操作符
B. 使用.join()方法
C. 使用.concat()方法(注意:这不是Python中的方法)
D. 使用逗号,直接连接(但这会创建元组或列表)

题目33:字符串" Python is fun! "如何去除两端的空格?
A. 使用.strip()方法
B. 使用.lstrip().rstrip()方法组合
C. 使用.replace()方法
D. 字符串没有直接的方法可以去除两端的空格

题目34:以下哪个方法用于替换字符串中的子串?
A. .replace()
B. .swap()(注意:这不是Python中的方法)
C. .change()(同样,这不是Python中的方法)
D. .substitute()(这是正则表达式中的方法,不是字符串的)

题目35:字符串"1,2,3,4,5"如何转换为一个整数列表[1, 2, 3, 4, 5]
A. 使用.split(',')然后遍历列表并转换每个元素
B. 使用.join()方法
C. 字符串没有直接的方法可以转换为整数列表
D. 使用map()函数和int()函数

题目36:如何判断一个字符串是否全部由小写字母组成?
A. 使用.islower()方法
B. 遍历字符串并检查每个字符
C. 使用正则表达式
D. .isalpha()也可以,但不够精确

题目37:字符串"Python 3.8.5"中的版本号"3.8.5"如何提取?
A. 使用.split()方法并指定分隔符为空格
B. 使用正则表达式
C. 字符串没有直接的方法可以提取特定格式的子串
D. .partition().rpartition()方法结合使用

题目38:字符串"Python is awesome!"转换为"python_is_awesome!"(小写并用下划线替换空格)的最佳方法是?
A. 使用.lower().replace()方法
B. 遍历字符串并手动构建新字符串
C. 使用正则表达式
D. Python没有直接的方法可以一步完成这个转换

题目39:字符串"abcdefg"中的"cd"如何被"XYZ"替换?
A. 使用.replace('cd', 'XYZ')
B. .replace()方法不能用于替换子串
C. 使用正则表达式(尽管.replace()在这个情况下足够了)
D. .translate()方法(这不适用于替换子串)

题目40:字符串"Python Programming"转换为驼峰命名法"PythonProgramming"的最佳方法是?
A. 遍历字符串,如果字符是大写且不是首字符,则在其前面添加小写字符
B. 使用.title()然后移除所有空格(但.title()会将每个单词的首字母都转为大写)
C. 使用正则表达式或手动逻辑来转换
D. Python没有直接的方法可以一步完成这个转换到严格的驼峰命名法

第二章 判断题

题目1:在Python中,字符串是不可变的(immutable)对象。

题目2:使用+操作符可以连接两个字符串。

题目3:字符串的索引从0开始,负索引用于从字符串末尾开始计数。

题目4:len()函数不能用于获取字符串的长度。

题目5:字符串s = "hello world";中,s[0]的值是'h'

题目6:s.upper()方法会将字符串s中的所有小写字母转换为大写字母,但不会改变原字符串s

题目7:s.find('x')会返回字符串s'x'第一次出现的位置索引,如果找不到则返回None

题目8:字符串的切片操作s[start:end]可以获取从索引startend(包含end)之间的子字符串。

题目9:s.replace('a', 'A')会将字符串s中所有的'a'替换为'A',并返回新的字符串。

题目10:s.split()方法默认按照空白字符(如空格、换行符等)分割字符串,返回一个包含所有子字符串的列表。

题目11:s.join(list)方法可以将列表list中的元素连接成一个新的字符串,元素之间使用s作为分隔符。

题目12:字符串s = "abc123"; s.isdigit()的返回值为True

题目13:s.strip()方法会移除字符串s两端的空白字符(包括空格、换行\n、制表符\t等)。

题目14:s.startswith('pre')会检查字符串s是否以'pre'开头,如果是则返回True,否则返回False

题目15:s.endswith('suf')会检查字符串s是否以'suf'结尾,如果是则返回True,否则返回False

题目16:字符串s = "Python"; s[5]的值是'n'

题目17:s.count('o')会返回字符串s'o'出现的次数。

题目18:s.index('x')会返回字符串s'x'第一次出现的位置索引,如果找不到会抛出ValueError异常。

题目19:字符串格式化方法f"Hello, {name}!"可以在字符串中嵌入变量的值。

题目20:s.format(name="Alice")可以用于字符串s中,其中s必须包含花括号{}作为占位符。

题目21:s.encode()方法可以将字符串s编码为字节串(bytes),默认使用UTF-8编码。

题目22:s.decode()方法可以将字节串s解码为字符串,但需要注意s必须是字节串类型。

题目23:字符串s = "hello\nworld";中,\n表示换行符。

题目24:s.isalpha()方法检查字符串s是否只包含字母。

题目25:s.isalnum()方法检查字符串s是否只包含字母和数字。

题目26:s.isspace()方法检查字符串s是否只包含空白字符。

题目27:s.lower()方法将字符串s中的所有大写字母转换为小写字母。

题目28:字符串s = "Python 3.8";中,s.find('3')的返回值是字符串中'3'第一次出现的位置索引。

题目29:s.ljust(width[, fillchar])方法会返回一个原字符串左对齐,并使用fillchar(默认为空格)填充至指定宽度width的新字符串。

题目30:s.rjust(width[, fillchar])方法会返回一个原字符串右对齐,并使用fillchar(默认为空格)填充至指定宽度width的新字符串。

题目31:字符串s = "abc123"; s.isnumeric()的返回值为False

题目32:s.capitalize()方法会将字符串s的第一个字符转换为大写,其余字符转换为小写。

题目33:s.swapcase()方法会翻转字符串s中所有字母的大小写。

题目34:字符串s = " hello "; s.strip()的结果为"hello"

题目35:s.lstrip()s.rstrip()分别用于移除字符串s左侧和右侧的空白字符。

题目36:字符串s = "hello"; s * 3的结果是"hellohellohello"

题目37:字符串切片s[::2]会返回字符串s中所有偶数索引位置的字符(假设索引从0开始)。

题目38:s.partition('x')会返回一个包含三个元素的元组:'x'左边的子字符串、'x'本身(如果找到的话)、'x'右边的子字符串。

题目39:s.rpartition('x')s.partition('x')类似,但从字符串的末尾开始搜索'x'

题目40:s.splitlines()方法会根据换行符分割字符串s,并返回一个包含所有行的列表。

第三章 填空题

题目1:字符串s = "Hello, World!"中,s[7]的值是 ______

题目2:字符串s = "12345"; s.isdigit()的返回值为 ______(True/False)。

题目3:使用s.upper()方法将字符串s = "python"转换为大写后的结果是 ______

题目4:字符串s = " hello "; s.strip()的结果为 ______

题目5:字符串切片s[1:4]从字符串s = "abcdef"中提取的子字符串是 ______

题目6:s.find('x')在字符串s = "example";中的返回值是 ______(如果未找到则返回-1)。

题目7:字符串s = "Hello"; s * 3的结果是 ______

题目8:使用s.replace('a', 'A')将字符串s = "banana"中的所有'a'替换为'A'后的结果是 ______

题目9:字符串s = "hello\nworld";中,\n表示 ______

题目10:s.endswith('.txt')在字符串s = "example.txt"中的返回值为 ______(True/False)。

题目11:字符串s = "Python 3.8";中,s.split()(不带参数)的结果是一个列表,列表的第一个元素是 ______

题目12:字符串s = "one,two,three";使用s.split(',')分割后的列表长度为 ______

题目13:s.join(['a', 'b', 'c'])在字符串s = '--'中的结果是 ______

题目14:字符串s = "Python is fun!";中,s.index('i')的返回值是 ______

题目15:使用f"The answer is {42}"进行字符串格式化后的结果是 ______

第四章 实战题

实战题1:字符串拼接

题目:给定两个字符串str1 = "Hello, "str2 = "World!",将它们拼接成一个新的字符串new_str

解题思路

  • 使用加号+操作符将两个字符串拼接起来。

实战题2:字符串切片

题目:给定一个字符串s = "Python Programming",提取其中的子字符串"Programming"。

解题思路

  • 使用切片操作[start:end]来提取字符串的一部分,其中start是子字符串开始的位置(包含),end是子字符串结束的位置(不包含)。在这个例子中,子字符串从索引7开始。

实战题3:字符串查找

题目:给定一个字符串s = "Hello, world! This is a test.",查找子字符串"world"s中的位置(索引)。

解题思路

  • 使用find()方法查找子字符串在字符串中的位置,如果找到了就返回子字符串的起始索引,否则返回-1。

实战题4:字符串替换

题目:给定一个字符串s = "apple banana apple",将所有的"apple"替换为"orange"

解题思路

  • 使用replace()方法替换字符串中的指定子字符串。

实战题5:字符串分割

题目:给定一个字符串s = "apple,banana,cherry",使用逗号,作为分隔符,将字符串分割成一个列表。

解题思路

  • 使用split()方法按指定分隔符分割字符串,返回一个列表。

第五章 答案

选择题

题目1:A - "Hello, World!"[0] 访问字符串的第一个字符,即 'H'

题目2:A - 在Python中,字符串既可以用单引号也可以用双引号表示,没有功能上的区别。

题目3:A - .count('P') 方法返回子串 'P' 在主字符串中出现的次数。

题目4:A - .upper() 方法将字符串中的所有小写字母转换为大写字母。

题目5:A - .strip() 方法用于移除字符串两端的空白字符(包括空格、换行符\n、制表符\t等)。

题目6:A - 在Python中,使用加号 + 连接两个字符串。

题目7:A, B - 严格来说,.index() 和 .find() 都可以用于查找子串的首次出现位置,但 .index() 在未找到时会抛出 ValueError,而 .find() 会返回 -1。但根据题目提问,.index() 更直接地回答了问题。

题目8:C - 索引从0开始计算,所以索引为4的字符是 'o'

题目9:A - .startswith('h') 方法检查字符串是否以 'h' 开头。

题目10:B - 使用 "thon" in "Python" 来检查子串 "thon" 是否包含在主字符串 "Python" 中。注意,这里的逻辑是反的,但根据题目要求检查的是子串在主字符串中的存在性。

题目11:A - .split(',') 方法用于根据指定的分隔符(这里是逗号)将字符串分割成列表。

题目12:A - 字符串的不可变性意味着一旦字符串被创建,你就不能更改字符串中的字符或删除它们。如果你需要修改字符串,你必须创建一个新的字符串。

题目13:A - .replace('World', 'Python') 方法用于替换字符串中所有出现的指定子串。

题目14:A - .isdigit() 方法用于检查字符串是否只包含数字字符。

题目15:A - ASCII码中,'p'的值为112。

题目16:B, C, D - 选项B和D都是正确的格式化方法,但选项C的.format(name, age)应该写作"My name is %s and I am %d years old." % (name, age).format版本是"My name is {} and I am {} years old.".format(name, age)。选项A的语法是错误的。

题目17:B - .lstrip() 方法用于去除字符串左侧的空白字符。

题目18:B - 字符串"Hello\nWorld"中包含一个换行符\n

题目19:A, C - 虽然.isnumeric()在某些情况下也可以用来判断(比如对于纯数字字符组成的Unicode字符串),但.isdigit()更直接地用于检查字符串是否只包含数字字符,这通常是判断字符串是否可以转换为整数的前提。使用try...except块也是一种通用的做法,可以处理各种潜在的转换错误。

题目20:A, B - .rfind() 和 .rindex() 方法都可以用来找到子串最后一次出现的位置,但.rindex()在找不到子串时会抛出ValueError,而.rfind()会返回-1.find().index()方法用于找到子串第一次出现的位置。

题目21:A - .count('o') 方法用于计算指定子串在字符串中出现的次数。

题目22:B - 字符串"Python is fun!"的长度是14个字符,包括空格和标点。

题目23:A, C - 可以通过正则表达式来检查字符串是否同时包含字母和数字,或者结合使用.isalpha()(检查是否全是字母)和.isdigit()(检查是否全是数字)方法,并注意到它们各自返回的结果,从而判断字符串是否同时包含字母和数字。但注意.isalnum()只检查是否全是字母或数字,不区分是否同时包含。

题目24:A - .upper() 方法将字符串中的所有小写字母转换为大写字母。

题目25:A - 在Python中,字符串索引从0开始,所以'H'的索引是0。

题目26:A, B - .format() 和 f-string(如f"{variable}")都是Python中的字符串格式化方法,但它们不是旧式的%格式化。

题目27:A - .startswith('Python') 方法用于检查字符串是否以指定的子串开头。

题目28:B - .zfill(10) 方法会在字符串的左侧填充零,直到达到指定的宽度(这里是10),所以结果是"00000abc123"

题目29:这个问题实际上有点误导性,因为.splitlines()虽然返回一个列表,但它确实是基于行的分割,而没有一个直接的字符串分割方法返回生成器。但理论上,如果考虑.splitlines()在读取大文件行时的内存效率优势(因为它可以按需产生行),可以视为一种“生成器式”的行为(尽管实际上不是)。然而,根据问题的直接性,没有一个选项是严格意义上的“返回生成器的分割方法”。

题目30:B - 列表推导式[char for char in "Python Programming"]可以将字符串分割成包含单个字符的列表。

题目31:B - 使用正则表达式可以方便地提取字符串中的数字部分。

题目32:A - 使用+操作符可以直接连接两个字符串。

题目33:A - .strip()方法用于去除字符串两端的空白字符,包括空格、制表符、换行符等。

题目34:A - .replace()方法用于替换字符串中的子串。

题目35:A 和 D 都可以,但A更直接地展示了过程。首先使用.split(',')将字符串分割成列表,然后遍历列表并使用int()函数转换每个元素。或者,可以使用map(int, "1,2,3,4,5".split(','))来一步到位。

题目36:A - .islower()方法用于判断字符串中的所有字符是否都是小写。

题目37:B - 使用正则表达式可以精确地提取符合特定模式的子串,如版本号。

题目38:A - 首先使用.lower()将字符串转换为小写,然后使用.replace()方法将空格替换为下划线。

题目39:A - .replace('cd', 'XYZ')是替换字符串中子串的直接方法。

题目40:C - Python没有直接的方法可以将字符串转换为严格的驼峰命名法(即除了第一个单词外,每个单词的首字母都大写)。这通常需要使用正则表达式或手动逻辑来实现。注意,.title()方法会将每个单词的首字母都转换为大写,而不仅仅是除了第一个单词以外的单词。

判断题

题目1:正确。 字符串在Python中是不可变的,这意味着一旦创建就不能更改其内容(如添加、删除或替换字符)。

题目2:正确。 使用+操作符可以轻松地将两个或多个字符串连接起来形成一个新的字符串。

题目3:正确。 字符串的索引遵循Python中的常规索引规则,从0开始计数,负索引用于从字符串的末尾开始计数。

题目4:错误。 len()函数用于获取对象的长度,包括字符串的长度。对于字符串,它返回字符串中的字符数。

题目5:正确。 在字符串s = "hello world";中,s[0]确实会返回第一个字符'h'

题目6:正确。 s.upper()方法会返回一个新的字符串,其中所有小写字母都被转换为大写字母,而原字符串s保持不变。

题目7:错误。 s.find('x')会返回字符串s'x'第一次出现的位置索引,如果找不到则返回-1,而不是None

题目8:错误。 字符串的切片操作s[start:end]实际上是获取从索引startend-1之间的子字符串,因为切片操作是左闭右开的。

题目9:正确。 s.replace('a', 'A')会遍历字符串s,将所有的'a'替换为'A',并返回新的字符串。

题目10:正确。 s.split()方法默认按照空白字符(如空格、换行符等)将字符串分割成一个列表,列表中的每个元素都是原字符串中的一个单词或子字符串。

题目11:正确。 s.join(list)方法接受一个列表作为参数,并使用字符串s作为分隔符,将列表中的元素连接成一个新的字符串。

题目12:错误。 s.isdigit()方法检查字符串是否只由数字组成。对于字符串s = "abc123";,因为包含非数字字符,所以s.isdigit()的返回值为False

题目13:正确。 s.strip()方法会移除字符串s两端的所有空白字符,包括空格、换行符、制表符等。

题目14:正确。 s.startswith('pre')会检查字符串s是否以'pre'开头,如果是则返回True,否则返回False

题目15:正确。 s.endswith('suf')会检查字符串s是否以'suf'结尾,如果是则返回True,否则返回False

题目16:正确。 在字符串s = "Python";中,索引5(注意Python索引从0开始)确实指向字符'n'

题目17:正确。 s.count('o')方法会遍历字符串s,并返回子字符串'o'出现的次数。

题目18:正确。 s.index('x')方法会返回'x'在字符串s中第一次出现的位置索引。如果找不到'x',则会抛出一个ValueError异常。

题目19:正确。 字符串格式化方法f"Hello, {name}!"允许在字符串中直接嵌入变量的值,其中{name}会被变量name的值所替换。

题目20:正确。 s.format(name="Alice")方法允许在字符串s中使用花括号{}作为占位符,并通过format方法的参数来填充这些占位符。

题目21:正确。 s.encode()方法默认使用UTF-8编码将字符串s转换为字节串。

题目22:错误但需注意上下文。 严格来说,s.decode()并不是字符串(str)对象的方法,而是字节串(bytes)对象的方法。因此,如果s是字符串类型,则不能直接调用s.decode()。但考虑到题目的意图可能是询问字节串的解码,所以核心意思是正确的,只是上下文需要是字节串。

题目23:正确。 在字符串s = "hello\nworld";中,\n是一个转义字符,表示换行符。

题目24:正确。 s.isalpha()方法检查字符串s是否所有字符都是字母,并且至少有一个字符。

题目25:正确。 s.isalnum()方法检查字符串s是否所有字符都是字母或数字,并且至少有一个字符。

题目26:正确。 s.isspace()方法检查字符串s是否只包含空白字符,如空格、换行符、制表符等。

题目27:正确。 s.lower()方法将字符串s中的所有大写字母转换为小写字母,返回新的字符串,原字符串不变。

题目28:正确。 在字符串s = "Python 3.8";中,s.find('3')会返回'3'第一次出现的位置索引。

题目29:正确。 s.ljust(width[, fillchar])方法确实会返回一个原字符串左对齐,并使用fillchar(默认为空格)填充至指定宽度width的新字符串。

题目30:正确。 s.rjust(width[, fillchar])方法会返回一个原字符串右对齐,并使用fillchar(默认为空格)填充至指定宽度width的新字符串。

题目31:正确。 s.isnumeric()方法检查字符串是否只包含数字字符。对于字符串s = "abc123";,因为包含非数字字符'a''b''c',所以s.isnumeric()的返回值为False

题目32:正确。 s.capitalize()方法确实会将字符串s的第一个字符转换为大写(如果它是小写的话),并将剩余的字符转换为小写(如果它们是大写的话)。但需要注意的是,如果字符串的第一个字符已经是大写,或者字符串为空,则该方法不会改变原字符串。

题目33:正确。 s.swapcase()方法会翻转字符串s中所有字母的大小写,即将大写字母转换为小写,小写字母转换为大写。

题目34:正确。 s.strip()方法会移除字符串s两端的空白字符(包括空格、换行符、制表符等)。因此,对于字符串s = " hello ";s.strip()的结果为"hello"

题目35:正确。 s.lstrip()s.rstrip()方法分别用于移除字符串s左侧和右侧的空白字符。

题目36:正确。 在Python中,可以使用*操作符来重复字符串。因此,s * 3会将字符串s重复三次,如果s = "hello";,则结果为"hellohellohello"

题目37:部分正确但需要澄清。 字符串切片s[::2]实际上会返回字符串s中从索引0开始,步长为2的切片。这意味着它会选择索引为0、2、4...(如果存在的话)的字符,而不是仅选择偶数索引位置的字符(如果索引从1开始计算的话)。因此,对于大多数情况(索引从0开始),该描述是准确的,但可能会产生一些混淆。

题目38:正确。 s.partition('x')方法会搜索字符串s中第一次出现的'x',并返回一个包含三个元素的元组:'x'左边的子字符串、'x'本身(如果找到的话)、'x'右边的子字符串。如果'x'不在字符串中,则返回的元组将包含原始字符串和两个空字符串。

题目39:错误。 s.rpartition('x')s.partition('x')并不相似,特别是在搜索方向上。s.rpartition('x')会从字符串的末尾开始搜索'x',并返回一个包含三个元素的元组:'x'右边的子字符串(可能为空)、'x'本身(如果找到的话)、'x'左边的子字符串(即除了最后一部分外的整个字符串)。

题目40:正确。 s.splitlines()方法会根据换行符(\n\r\r\n等)分割字符串s,并返回一个包含所有行的列表。这个方法很有用,特别是在处理来自文件或网络的数据时。

填空题

题目1:字符串s = "Hello, World!"中,s[7]的值是 W。解析:索引从0开始,第7个位置上的字符是W

题目2:字符串s = "12345"; s.isdigit()的返回值为 True(True/False)。解析:isdigit()方法检查字符串是否只包含数字,并返回布尔值。

题目3:使用s.upper()方法将字符串s = "python"转换为大写后的结果是 PYTHON。解析:upper()方法将字符串中的所有小写字母转换为大写字母。

题目4:字符串s = " hello "; s.strip()的结果为 hello。解析:strip()方法移除字符串两端的空白字符。

题目5:字符串切片s[1:4]从字符串s = "abcdef"中提取的子字符串是 bcd。解析:切片操作s[1:4]提取从索引1(包含)到索引4(不包含)的子字符串。

题目6:s.find('x')在字符串s = "example";中的返回值是 -1(如果未找到则返回-1)。解析:因为字符串s中不包含'x',所以find()方法返回-1。

题目7:字符串s = "Hello"; s * 3的结果是 HelloHelloHello。解析:使用*操作符可以重复字符串。

题目8:使用s.replace('a', 'A')将字符串s = "banana"中的所有'a'替换为'A'后的结果是 bAnAnA。解析:replace()方法替换字符串中所有指定的子字符串。

题目9:字符串s = "hello\nworld";中,\n表示 换行符。解析:\n是Python中的换行符,用于在字符串中表示新的一行。

题目10:s.endswith('.txt')在字符串s = "example.txt"中的返回值为 True(True/False)。解析:endswith()方法检查字符串是否以指定的后缀结束。

题目11:字符串s = "Python 3.8";中,s.split()(不带参数)的结果是一个列表,列表的第一个元素是 Python。解析:split()方法默认按空白字符(空格、换行符等)分割字符串。

题目12:字符串s = "one,two,three";使用s.split(',')分割后的列表长度为 3。解析:split(',')方法按逗号分割字符串,生成一个包含三个元素的列表。

题目13:s.join(['a', 'b', 'c'])在字符串s = '--'中的结果是 a--b--c。解析:join()方法使用指定的字符串s作为分隔符,将序列中的元素合并成一个新的字符串。

题目14:字符串s = "Python is fun!";中,s.index('i')的返回值是 2。解析:index()方法返回指定子字符串在字符串中第一次出现的索引位置。

题目15:使用f"The answer is {42}"进行字符串格式化后的结果是 The answer is 42。解析:f-string(格式化字符串字面量)允许你在字符串中嵌入表达式的值。

实战题

实战题1:字符串拼接

题目:给定两个字符串str1 = "Hello, "str2 = "World!",将它们拼接成一个新的字符串new_str

解题思路

  • 使用加号+操作符将两个字符串拼接起来。

答案代码

# 给定两个字符串  
str1 = "Hello, "  
str2 = "World!"  
  
# 使用加号操作符拼接字符串  
new_str = str1 + str2  
  
# 输出结果  
print(f"拼接后的字符串: {new_str}")
# 拼接后的字符串: Hello, World!

实战题2:字符串切片

题目:给定一个字符串s = "Python Programming",提取其中的子字符串"Programming"。

解题思路

  • 使用切片操作[start:end]来提取字符串的一部分,其中start是子字符串开始的位置(包含),end是子字符串结束的位置(不包含)。在这个例子中,子字符串从索引7开始。

答案代码

# 给定一个字符串  
s = "Python Programming"  
  
# 使用切片操作提取子字符串  
sub_str = s[7:]  # 从索引7开始到字符串末尾  
  
# 输出结果  
print(f"提取的子字符串: {sub_str}")
# 提取的子字符串: Programming

实战题3:字符串查找

题目:给定一个字符串s = "Hello, world! This is a test.",查找子字符串"world"s中的位置(索引)。

解题思路

  • 使用find()方法查找子字符串在字符串中的位置,如果找到了就返回子字符串的起始索引,否则返回-1。

答案代码

# 给定一个字符串  
s = "Hello, world! This is a test."  
  
# 使用find()方法查找子字符串的位置  
index = s.find("world")  
  
# 输出结果  
print(f"子字符串'world'的位置(索引): {index}")
# 子字符串'world'的位置(索引): 7

实战题4:字符串替换

题目:给定一个字符串s = "apple banana apple",将所有的"apple"替换为"orange"

解题思路

  • 使用replace()方法替换字符串中的指定子字符串。

答案代码

# 给定一个字符串  
s = "apple banana apple"  
  
# 使用replace()方法替换子字符串  
new_s = s.replace("apple", "orange")  
  
# 输出结果  
print(f"替换后的字符串: {new_s}")
# 替换后的字符串: orange banana orange

实战题5:字符串分割

题目:给定一个字符串s = "apple,banana,cherry",使用逗号,作为分隔符,将字符串分割成一个列表。

解题思路

  • 使用split()方法按指定分隔符分割字符串,返回一个列表。

答案代码

# 给定一个字符串  
s = "apple,banana,cherry"  
  
# 使用split()方法按逗号分割字符串  
fruit_list = s.split(",")  
  
# 输出结果  
print(f"分割后的列表: {fruit_list}")
# 分割后的列表: ['apple', 'banana', 'cherry']

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2144706.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt 学习第九天:标准对话框 页面布局

系统标准对话框 错误对话框 //错误对话框connect(createPro, &QAction::triggered, this, []{//参数1 父亲 参数2 标题 参数3 对话框内显示文本内容 。。。QMessageBox::critical(this, "报错!", "没加头文件!");}); 【运行结果】 信息对话框 co…

使用arduino玩基于esp8266的nodemcu开发板

一、简介 中秋节到图书馆看书,看到了arduino方面的书籍,里面有提到ESP8266模块。让我想起我抽屉里吃灰很久了的基于esp8266的nodemcu开发板。于是把书借回家研究了一下。这里做个记录。 二、我目前在使用的云服务器推荐 学Linux不搞个云服务器始终感觉…

【笔记】进制转换

文章目录 一、任意进制转十进制1、整数转化成十进制(1)二进制转十进制(2)八进制转十进制 2、小数转化成十进制(1)二进制转十进制(2)八进制转十进制 3、代码1、整数转化成十进制2、小…

使用 Vue 3 和 TypeScript 实现带打字效果的仿 AI 分析展示组件

在这篇博客中,我将分享如何用 Vue 3 和 TypeScript 实现一个带打字效果的 AI 分析展示组件。该组件具有如下功能: 动态打字效果:模拟打字机逐步显示内容。自动滚动:内容超出容器高度时自动滚动到最新位置。 1. 组件实现需求 我…

【读点论文】Text Recognition in the Wild: A Survey 非常纯粹的OCR研究,专业细致,脉络清晰

Text Recognition in the Wild: A Survey 文本的历史可以追溯到几千年前。文本所携带的丰富而精确的语义信息在广泛的基于视觉的应用场景中非常重要。因此,自然场景中的文本识别一直是计算机视觉和模式识别中一个活跃的研究领域。近年来,随着深度学习的…

基础 Web 开发

1. 构建项目&#xff1a; 2.添加依赖 <dependencies> <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupI…

低代码门户技术:构建高效应用的全新方式

什么是低代码门户技术&#xff1f; 低代码门户技术是一种利用低代码平台构建企业门户网站或应用的技术。门户通常是企业内部和外部用户访问信息和应用的集中平台。低代码门户技术通过图形化界面和预置组件&#xff0c;允许用户快速搭建和定制这些门户平台&#xff0c;而无需深…

数据结构入门学习(全是干货)——树(中)

数据结构入门学习&#xff08;全是干货&#xff09;——树&#xff08;中&#xff09; 1 二叉搜索树&#xff08;Binary Search Tree&#xff0c;简称 BST&#xff09; 1.1 二叉搜索树及查找 二叉搜索树&#xff08;Binary Search Tree, BST&#xff09; 是一种特殊的二叉树…

四、JVM原理-4.1、JVM介绍

4.1、JVM介绍 4.1.1、如何理解Java虚拟机&#xff0c;它的结构是如何设计的&#xff1f; 答&#xff1a; Java虚拟机&#xff08;Java Virtual Machine&#xff0c;JVM&#xff09;是Java语言编写的程序在运行时的执行环境。它是Java的核心组成部分&#xff0c;负责解释和执行…

开源项目 face parsing 人脸区域分割 人像区域分割 人脸分割 人像区域分割 BiSeNet

开源项目 - face parsing 人脸区域分割 人像区域分割 人脸分割 人像区域分割 BiSeNet 人像分割 开源项目地址&#xff1a;https://gitcode.net/EricLee/faceparsing 包括开源数据集 和 预训练模型 咨询合作 DataBall 项目&#xff0c;欢迎加以下微信。 助力快速掌握数据集的信…

HarmonyOS 速记

目录 装饰器Entry(入口)Component(组件)State(状态)Prop(属性)Preview(预览)PreviewerInspector 结构体structbuild自定义组件自定义 Custom 组件 容器Row(行) & Column(列)RelativeContainer(相对布局容器)marginpaddingSwiper(轮播图)Grid(网格容器)List(列表) 组件Image…

python函数一:函数的概念、函数定义与调用、函数的参数、函数的返回值、说明文档以及函数的嵌套调用

文章目录 1. 函数介绍1.1 函数的概念1.2 函数定义与调用1.2 函数的参数1.3 函数的返回值1.4 说明文档 2. 函数的嵌套调用2.1 嵌套调用及执行流程2.2 嵌套调用的应用 1. 函数介绍 1.1 函数的概念 什么是函数&#xff1f; 函数:是一个被命名的、独立的、完成特定功能的代码段&am…

使用c#制作一个小型桌面程序

封装dll 首先使用visual stdio 创建Dll新项目,然后属性管理器导入自己的工程属性表&#xff08;如果没有可以参考visual stdio 如何配置opencv等其他环境&#xff09; 创建完成后 系统会自动生成一些文件&#xff0c;其中 pch.cpp 先不要修改&#xff0c;pch.h中先导入自己需…

Python画笔案例-053 绘制海龟螺旋图

1、绘制海龟螺旋图 通过 python 的turtle 库绘制 海龟螺旋图&#xff0c;如下图&#xff1a; 2、实现代码 绘制海龟螺旋图&#xff0c;以下为实现代码&#xff1a; """海龟螺旋图.py""" import turtle from random import randintscreen turtl…

引入第三方字体图标icon

引入第三方字体图标icon 1.登录阿里巴巴icon库 2.点开ui提供的字体图标并下载 3.解压download 将font_4008950_i6fkbudh8ld文件放置项目中例如&#xff1a;放在assets文件夹下 4.然后再main.js中引入 import ‘/assets/font_4008950_i6fkbudh8ld/iconfont.css’; 5.项目中应…

Rsync未授权访问漏洞复现及彻底修复

一、什么是 Rsync&#xff1f; Rsync 是一种广泛使用的文件传输工具&#xff0c;它允许系统管理员和用户通过局域网&#xff08;LAN&#xff09;或广域网&#xff08;WAN&#xff09;在计算机之间同步文件和目录。Rsync 支持通过本地或远程 shell 访问&#xff0c;也可以作为守…

STM32——输入捕获

输入捕获模式可以用来测量脉冲宽度或者测量频率。STM32的定时器&#xff0c;除了TIM6、TIM7&#xff0c;其他的定时器都有输入捕获的功能。应用场景是编码器。 测量频率 当捕获通道TIx 上出现上升沿时&#xff0c;发生第一次捕获&#xff0c;计数器CNT 的值会被锁存到捕获寄存…

Java中的红黑树(如果想知道Java中有关红黑树的知识点,那么只看这一篇就足够了!)

前言&#xff1a;红黑树作为一种自平衡的二叉搜索树&#xff0c;在计算机科学领域具有极其重要的地位。它通过颜色约束和旋转操作保持树的高度平衡&#xff0c;从而保证了查找、插入、删除等操作的高效性。红黑树广泛应用于操作系统的调度算法、数据库索引、Java集合框架等领域…

「全球大模型竞技场」更新:DeepSeek-V2.5全面领跑国内模型

原文&#xff1a;深度求索 DeepSeek 月初&#xff0c;我们发布并开源了 DeepSeek-V2.5&#xff0c;一个融合通用与代码能力的全新模型。 近日&#xff0c;LMSYS 组织的全球大模型竞技场&#xff08;ChatBotArena&#xff09;更新结果发布&#xff0c;DeepSeek-V2.5 排名位列国…

额定剩余动作电流继电器有什么功能?

ASJ系列剩余电流动作继电器可与低压断路器或低压接触器等组装成组合式的剩余电流动作保护器&#xff0c;为现代电力系统设计&#xff0c;旨在提高电力系统的安全性和可靠性。其技术和多功能特性使其成为电力管理和监测的理想选择。主要适用于交流50Hz&#xff0c;额定电压为400…