用python 编写函数func(str),计算并返回字符串str(str = "gfvja56451238/;.12")中的数字和其它类型字符的个数。 2用python编写 有一个录入人姓名(英文)的函数,为其添加装饰器,确保录入后的人姓名都是大写开头。 用python编写一个 定义类Listinfo ,其数据(属性)为一个列表,其函数(或方法)包括: 1)在原来列表上增加元素: add_key(unit) [unit:整数类型]; 2)取原来列表上按照给定索引提取元素:get_key(index) [index:整数类型]。
时间: 2024-03-25 19:38:35 浏览: 104
好的,让我一一回答你的问题:
1. 计算字符串中数字和其他类型字符的个数的函数:
```python
def func(str):
digits = 0
other = 0
for char in str:
if char.isdigit():
digits += 1
else:
other += 1
return digits, other
```
这个函数将返回一个元组,包括数字和其他类型字符的个数。
2. 录入人姓名并确保大写开头的函数装饰器:
```python
def uppercase_name(func):
def wrapper():
name = input("请输入您的英文姓名:")
name = name.strip().capitalize()
return func(name)
return wrapper
@uppercase_name
def enter_name(name):
print("您的姓名是:", name)
```
这里的装饰器`uppercase_name`会将输入的英文姓名去除两端空格并将首字母大写,然后再传给函数`enter_name`进行处理。这样,不论输入的英文姓名是什么格式,最终都会得到一个首字母大写的姓名。
3. 定义类Listinfo,包括增加元素和提取元素的方法:
```python
class Listinfo:
def __init__(self, lst):
self.lst = lst
def add_key(self, unit):
self.lst.append(unit)
def get_key(self, index):
if index < 0 or index >= len(self.lst):
return "索引无效"
else:
return self.lst[index]
```
这个类包括两个方法,分别是`add_key`和`get_key`。`add_key`方法用来在原来的列表上增加元素,`get_key`方法用来按照给定索引提取元素。在实例化`Listinfo`类时,需要传入一个列表作为参数。
阅读全文
相关推荐


















