s = "hello"
s.replace("l", "L")
print(s)
A. hello
B. heLLo
C. heLlo
D. HeLLo zyxhgg 发表于 2025-12-26 20:45
@FishC 执行以下代码后,输出结果是?
s = "hello" ...
字符串在 Python 中是不可变的,replace 方法会返回一个新的字符串,而不会修改原始字符串。
因此,代码中的 s.replace("l", "L") 虽然返回了 "heLLo",但原始变量 s 的值并没有改变,仍然是 "hello"。
执行 print(s) 会输出原始字符串:
hello
所以正确答案是 A. hello。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 @FishC 下面代码执行后,\t 最终会被替换成几个空格?
s = 'ab\tcd'
print(s.expandtabs(4))
A. 1个
B. 2个
C. 4个
D. 8个 dongqing1 发表于 2025-12-30 17:39
@FishC 下面代码执行后,\t 最终会被替换成几个空格? ...
问题分析:
字符串 s = 'ab\tcd' 中的 \t 是制表符(Tab)。
方法 expandtabs(4) 会将制表符替换为空格,使得替换后的字符串在视觉上对齐到“制表位”。
制表位的计算方式是从字符串开头算起,每 4 个字符为一个制表位。
计算过程:
[*]字符串 'ab\tcd' 中,\t 前面有两个字符 'ab'。
[*]下一个制表位是 4 的倍数,即位置 4。
[*]当前位置是 2,距离下一个制表位还有 2 个字符。
[*]因此,\t 会被替换为 2 个空格。
代码验证:
s = 'ab\tcd'
print(repr(s.expandtabs(4)))
输出结果:
'abcd'
可见 \t 被替换为两个空格。
所以正确答案是 B. 2个。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 @FishC 执行以下代码后,输出结果是?
s = '---==---=='
print(s.rfind('==', 0, 7))
A. 3
B. 4
C. 8
D. -1 xiaobin9095 发表于 2026-03-02 09:55
@FishC 执行以下代码后,输出结果是?
s = '---==- ...
执行以下代码后,输出结果是?
s = '---==---=='
print(s.rfind('==', 0, 7))
A. 3
B. 4
C. 8
D. -1
输出结果是 A. 3。
详细解释如下:
字符串 s = '---==---==' 的索引位置如下:
字符: - - - = = - - - = =
索引: 0 1 2 3 4 5 6 7 8 9
方法 s.rfind('==', 0, 7) 的作用是:在切片 s(即索引 0 到 6)中,从右向左搜索子串 ==' 最后一次出现的位置,并返回其起始索引(若未找到则返回 -1)。
切片 s 的字符为:---==--(索引 0 至 6)。其中,==' 仅出现在索引 3 和 4 处(起始索引为 3)。因此,rfind 返回 3。
注意:虽然整个字符串在索引 8 和 9 处也有 ==',但由于搜索范围限制在索引 0 到 6,所以不会被包含。
因此,正确答案是 A. 3。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 @FishC 执行以下代码后,输出结果是?
s = 're:re:FishC'
print(s.find(':', 3))
A. 2
B. 4
C. 5
D. -1 小池爱学习 发表于 2026-03-16 21:26
@FishC 执行以下代码后,输出结果是?
s = 're:re: ...
执行代码 s.find(':', 3) 时,会从字符串 s 的索引 3 开始查找字符 ':'。
字符串 s = 're:re:FishC' 的索引如下:
索引: 0 1 2 3 4 5 6 7 8 9 10
字符: r e : r e : F i s h C
从索引 3(字符 'r')开始向后查找,第一个 ':' 出现在索引 5 处,因此返回 5。
所以输出结果为 5,对应选项 C。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 @FishC 执行以下代码后,输出结果是?
s = 'abcabcabc'
print(s.count('abc', 0, 8))
A. 1次
B. 2次
C. 3次
D. 0次 haly 发表于 2026-03-20 14:11
@FishC 执行以下代码后,输出结果是?
s = 'abcabc ...
字符串的 count 方法用于统计子串出现的次数,语法为 str.count(sub, start, end),其中 start 和 end 指定搜索范围,范围是左闭右开的 [start, end)。
给定字符串 s = 'abcabcabc',长度为 9,索引从 0 开始。
s.count('abc', 0, 8) 表示在索引 0 到 7(因为 end=8 不包括)的范围内统计 'abc' 的出现次数。该范围对应的子字符串为 s,即 "abcabcab"。
在 "abcabcab" 中,"abc" 出现的位置:
- 索引 0-2: "abc"
- 索引 3-5: "abc"
- 索引 6-8: 但范围只到索引 7,所以只有 "ab",不完整。
因此,共出现 2 次完整的 "abc"。
>>> s = 'abcabcabc'
>>> print(s.count('abc', 0, 8))
2
输出结果为 2,对应选项 B. 2次。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 @FishC 下面代码执行后,\t 最终会被替换成几个空格?
s = 'ab\tcd'
print(s.expandtabs(4))
A. 1个
B. 2个
C. 4个
D. 8个 @FishC 执行以下代码后,输出结果是?
s = '2025/12/23'
print(s.index('-'))
A. 返回 -1
B. 返回 None
C. 抛出 ValueError 异常
D. 返回字符串长度 haly 发表于 2026-03-20 14:21
@FishC 下面代码执行后,\t 最终会被替换成几个空格? ...
下面代码执行后,\t 最终会被替换成几个空格?
s = 'ab\tcd'
print(s.expandtabs(4))
A. 1个
B. 2个
C. 4个
D. 8个
expandtabs(tabsize) 方法会将字符串中的制表符(\t)替换为空格,使得替换后的字符串对齐到下一个制表位。制表位每隔 tabsize 个字符一个。
对于字符串 'ab\tcd' 和 expandtabs(4):
- 在 \t 之前有字符 'a' 和 'b',占用列位置 0 和 1,当前列位置为 2。
- 制表符大小 tabsize=4,当前列位置 2 除以 4 的余数是 2,因此到下一个制表位(位置 4)需要 4 - 2 = 2 个空格。
- 所以 \t 被替换为 2 个空格。
验证代码:
s = 'ab\tcd'
print(s.expandtabs(4))# 输出: abcd
输出中 "ab" 和 "cd" 之间有两个空格。
因此,正确答案是 B. 2个。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 @FishC 执行以下代码后,输出结果是?
table = str.maketrans('', '', '-')
print('2025-12-23'.translate(table))
A. 2025-12-23
B. 20251223
C. 2025/12/23
D. 抛出异常 haly 发表于 2026-03-20 14:25
@FishC 执行以下代码后,输出结果是?
table = str ...
答案:B. 20251223
解释:
创建了一个转换表,其中第三个参数指定要删除的字符(即 '-')。随后, 方法根据该转换表对字符串进行处理,删除所有 '-' 字符。因此,'2025-12-23' 经过处理后变为 '20251223'。
代码示例:
table = str.maketrans('', '', '-')
print('2025-12-23'.translate(table))# 输出:20251223
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 haly 发表于 2026-03-20 14:23
@FishC 执行以下代码后,输出结果是?
s = '2025/1 ...
执行代码时,因为字符串 s 中没有 '-' 字符,s.index('-') 会抛出 ValueError 异常。
因此,答案是 C. 抛出 ValueError 异常。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]