U418178 Python
题目背景
`Python`有一个`str`类型, 如:
```Python
s = "13+"
print(s)
s += "999-9"
print(s)
print(s.find("9"))
`````````
这样。
题目描述
请使用`C++`来实现`Python`的`str`类型, 需要实现的函数或方法有:
#### $\hspace{0.25cm}$0个参数:
| 函数名 | 作用 |
| :----------- | :----------- |
|isupper |判断是否都为大写 |
|islower |判断是否都为小写 |
|isalpha |判断是否都为字母 |
|isalnum |判断是否为数字or字母 |
|isdigit |判断是否都为数字 |
|capitalize |把第一个字母大写,其余小写 |
|len |求字符串的长度 |
|upper |转为大写 |
|lower |转为小写 |
#### $\hspace{0.25cm}$1个参数:
|函数名|作用|
|---|---|
|+= $S$ |拼接字符串$S$ |
|+ $S$ |拼接字符串$S$(不会改变)|
|print |输出 |
|count $S$ |统计$S$的个数 |
|find $S$ |查找$S$的下标 |
|index $S$ |查找$S$的下标 |
#### $\hspace{0.25cm}$2个参数:
|函数名|作用|
|---|---|
|[a:b] |截取子串(a, b),左闭右开|
输入格式
第一行输入一个字符串, \
第二行一个整数$N$。\
接下来$N$行, 输入$op_i, x_i, y_i$, $op_i$表示函数名, \
有返回值则输出。\
(若$op_i$不需要$2$个参数, 则输入时会缺少部分参数)\
$\colorbox{darkblue}{\color{skyblue}\underline{\color{red}保\color{orange}证\color{yellow}每\color{green}一\color{lightblue}个\color{blue}op\color{lightblue}在\color{wheat}上\color{grey}面\color{gold}出{\color{darkgoldenrod}现}过}}$
$\colorbox{darkblue}{\color{skyblue}\underline{\color{red}保\color{orange}证\color{yellow}每\color{green}一\color{lightblue}个\color{blue}字\color{lightblue}符\color{wheat}串\color{grey}无\color{gold}空\color{darkgoldenrod}格}}$
$\colorbox{darkblue}{\color{skyblue}\underline{\color{red}保\color{orange}证\color{yellow}p\color{green}r\color{lightblue}i\color{blue}n\color{lightblue}t\color{wheat}后\color{grey}面\color{gold}为\color{darkgoldenrod}S}}$
输出格式
---------------------------看上面---------------------------
说明/提示
**若`index`报错则输出`ValueError: substring not found`**\
**`index` `count` `find`保证参数为长度为$1$的字符串**\
**若$op$为`[:]`则保证`S[x]`比`S[y]`靠前**\
**`upper` `lower` `capitalize` `[:]`在本题中会改变原串**\
$5\le N\le100$