考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

以下程序的输出结果是:x = "908790",n = 90,print(x.count(n))
A. 0
B. 报错
C. 1
D. 2
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

正确答案是:B: 报错

### 专业分析:

在 Python 中,`str.count(substring)` 方法用于返回子字符串在字符串中出现的次数。对于这个问题,关键点在于参数的类型不匹配:

- 变量 `x` 是一个字符串,值为 `"908790"`。
- 变量 `n` 是一个整数,值为 `90`。

当调用 `x.count(n)` 时,`n` 作为参数传递给 `str.count()` 方法。这会导致错误,因为 `str.count()` 期望的是一个字符串参数,而不是一个整数。Python 在这种情况下会抛出一个 `TypeError`,提示需要一个字符串而不是一个整数。

### 示例代码分析
```python
x = "908790"
n = 90
print(x.count(n)) # TypeError: must be str, not int
```

### 如何修正
如果希望统计字符串 `"908790"` 中包含的 `"90"` 的次数,可以将 `n` 转换为字符串:

```python
x = "908790"
n = "90" # 将 n 转换为字符串
print(x.count(n)) # 输出:1
```

这样修改后,程序会正确地输出 `1`,因为子字符串 `"90"` 在 `"908790"` 中出现了一次。