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

ops/2024/9/19 10:21:22/ 标签: python, 笔记, 学习, 字符串, 改行学it, 面试, 学习方法

本文主要是作为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中的位置(索引)。

解题思路

实战题4:字符串替换

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

解题思路

实战题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

解题思路

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

答案代码

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

实战题2:字符串切片

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

解题思路

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

答案代码

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

实战题3:字符串查找

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

解题思路

答案代码

python"># 给定一个字符串  
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"

解题思路

答案代码

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

实战题5:字符串分割

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

解题思路

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

答案代码

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


http://www.ppmy.cn/ops/112987.html

相关文章

【论文阅读】FedABC: Targeting Fair Competition in Personalized Federated Learning

论文链接(AAAI2023) 文章解决的问题主要是NO-IID问题。 文章的方法包括几个关键的技术和策略,具体如下: 二元分类框架: FedABC利用二元分类的训练策略来解决每个类别的个性化问题。这意味着对于每个类别都训练一个独立…

uniapp中使用picker-view选择时间

picker-view 是 UniApp 中用于展示和选择数据的组件。它适用于创建多列选择器&#xff0c;类似于 iOS 和 Android 系统中的选择器视图。以下是 picker-view 的详细介绍&#xff0c;包括用法、属性和事件。 一 用法 <template><view><picker-view :value"…

Phoenix使用

Phoenix Hbase适合存储大量的对关系运算要求低的NOSQL数据&#xff0c;受Hbase 设计上的限制不能直接使用原生的API执行在关系数据库中普遍使用的条件判断和聚合等操作。Hbase很优秀&#xff0c;一些团队寻求在Hbase之上提供一种更面向普通开发人员的操作方式&#xff0c;Apach…

springbootadmin源码编译修改001_node版本管理工具nvm_任意切换node版本_没有成功记录过程---VUE工作笔记0026

由于项目需要对springbootadmin的源码进行编译和修改. 但是springbootadmin的源码编译很麻烦,主要是由于,springbootadmin-server-ui这个项目,因为他是一个前后端分离的 vue项目,而且是使用 https://github.com/coreybutler/nvm-windows/releases/tag/1.1.12 首先去下载,发…

深度学习的笔记

1. 从huggingface上仅下载pytorch模型权重和配置文件到服务器 import os import shutil from huggingface_hub import snapshot_download# 直接指定模型和下载路径 model_name openai/clip-vit-base-patch32 download_path /home/xxx/.cache/huggingface/hub/models--anas-a…

云计算实训50——Kubernetes基础命令、常用指令

一、Kubernetes 自动补齐 # 安装自动补齐软件 [rootmaster ~]# yum -y install bash-completion # 临时开启自动补齐功能 [rootmaster ~]# source # 永 久开启自动补齐功能 [rootmaster ~]# echo "source > ~/.bashrc 二、Kubernetes 基础命令 kubectl [command] …

开思通智网-科技快报20240912:人工智能辅助实现复杂糖苷分子检测

【本周新进展】 人工智能辅助实现复杂糖苷分子检测 https://news.sciencenet.cn/htmlnews/2024/9/529548.shtm IFA2024|元鼎智能推出全新“真智能”泳池机器人 https://tech.gmw.cn/2024-09/07/content_37548570.htm 马斯克宣称的“最强AI训练系统”上线 https://news.science…

产品经理学习笔记

写在前面的话 产品经理从业者的期待与迷茫 产品经理--这个号称入门容易、得道难的职业&#xff0c;随着移动互联网的快速扩张&#xff0c;发展通道已经趋于成熟&#xff0c;再不是那个野蛮生长、群星闪耀的时代了。也因此&#xff0c;行业内的产品经理普遍非常迷茫&#xff0…

Mistral AI 又又又开源了闭源企业级模型——Mistral-Small-Instruct-2409

就在不久前&#xff0c;Mistral 公司在开源了 Pixtral 12B 视觉多模态大模型之后&#xff0c;又开源了自家的企业级小型模型 Mistral-Small-Instruct-2409 &#xff08;22B&#xff09;&#xff0c;这是 Mistral AI 最新的企业级小型模型&#xff0c;是 Mistral Small v24.02 的…

使用Docker部署WordPress

今天我们在阿贝云的免费服务器上进行WordPress的部署测试。阿贝云提供的免费云服务器真是不错&#xff0c;配置为1核CPU、1G内存、10G硬盘和5M带宽&#xff0c;完全足够进行小型项目的开发与测试。这样的性能表现让人惊喜&#xff0c;适合各种开发者尝试新技术。接下来&#xf…

PMP--一模--解题--161-170

文章目录 13.干系人管理161、 [单选] 项目经理正在领导一个公司内部项目&#xff0c;该项目正处于早期阶段。该项目与一年前结束的另一个项目很相似&#xff0c;项目经理该做什么来分析涉及的干系人&#xff1f; 10.沟通管理162、 [单选] 在项目执行过程中&#xff0c;一位关键…

Oracle(126)如何使用闪回表(Flashback Table)?

Oracle数据库的闪回表&#xff08;Flashback Table&#xff09;功能允许你将一个或多个表恢复到过去的某个时刻&#xff0c;而不需要进行复杂的恢复操作。这是一个非常有用的功能&#xff0c;特别是在处理误删除数据或需要查看表在过去某一时刻的状态时。使用闪回表功能&#x…

数据结构——二叉树的介绍

1.树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 有一个特殊的结点&#xff0c;称为根结点&a…

重放攻击(Replay Attack)与DDoS攻击简介及区别

重放攻击&#xff08;Replay Attack&#xff09;与DDoS攻击简介及区别 1. 重放攻击 简介&#xff1a;攻击者截获合法通信数据并重发&#xff0c;以伪装成用户执行未经授权的操作。目标&#xff1a;伪造身份或篡改交易。机制&#xff1a;攻击者重发数据包&#xff0c;使系统误…

html+css+js网页设计 旅游 龙门石窟8个页面

htmlcssjs网页设计 旅游 龙门石窟8个页面 网页作品代码简单&#xff0c;可使用任意HTML辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源码 1&#…

Python燃烧废气排放推断算法模型

&#x1f3af;要点 宏观能耗场景模型参数化输入数据&#xff0c;分析可视化输出结果&#xff0c;使用场景时间序列数据模型及定量和定性指标使用线图和箱线图、饼图、散点图、堆积条形图、桑基图等可视化模型输出结果根据气体排放过程得出其时间序列关系&#xff0c;使用推断模…

uniapp小程序中开启微信位置权限的步骤

推荐学习文档 golang应用级os框架&#xff0c;欢迎stargolang应用级os框架使用案例&#xff0c;欢迎star案例&#xff1a;基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识&#xff0c;这里有免费的golang学习笔…

Hive parquet表通过csv文件导入数据

1. background 已建好了 hive parquet 格式的表, 需要从服务器的csv导入数据至该hive表 2. step 提前上传csv至服务器 /path/temp.csv 创建 textfile 格式的中转表(这里使用内部表,方便删除) ,源表名dw_procurement.dwd_tc_comm_plant ,这里中转表加上了csv后缀 CREATE TA…

基于OpenCV和ROS节点的智能家居服务机器人设计流程

一、项目概述 1.1 项目目标和用途 智能家居助手项目旨在开发一款高效、智能的服务机器人&#xff0c;能够在家庭环境中执行多种任务&#xff0c;如送餐、清洁和监控。该机器人将通过自主导航、任务调度和环境感知能力&#xff0c;提升家庭生活的便利性和安全性。项目的最终目…

AI大模型系统实战:挑战与应用多领域,人工智能大模型的实际应用场景

AI大模型系统实战&#xff1a;挑战与应用多领域&#xff0c;人工智能大模型的实际应用场景 人工智能的新浪潮中&#xff0c;大模型系统已成为技术革新的重要驱动力。它们以其强大的学习能力和广泛的应用场景&#xff0c;正在重新定义我们与机器交互的方式。本文将深入探讨AI大模…