老男孩python学习第八天作业

问题一:编写一个函数,计算固定列表中所有元素之和

答:

# 函数定义
def list_sum():
    li = [11, 22, 33]
    total = 0
    for i in li:
        total += i
    print(total)

# 函数调用
list_sum()

问题二:编写一个函数,计算非固定列表中所有元素之和

答:

# 函数定义
def list_sum(li):
    total = 0
    for i in li:
        total += i
    print(total)

# 函数调用
list_sum([11, 22, 33])

问题三:编写一个函数,将两个列表拼接起来

答:

# 函数定义
def list_extend(li1, li2):
    li1.extend(li2)
    print(li1)

# 函数调用
list_extend([11, 22, 33], [44, 55, 66])

问题四:让用户输入一段字符串,计算字符中有多少指定字符,有多少个就在指定文件中写多少次固定内容,并给出提示

答:

# 统计指定字符出现次数函数定义
def get_char_count(char, data):
    count = 0
    for i in data:
        if i == char:
            count += 1
    return count

# 写入文件函数定义
def write_data_file(count, file_name, data):
    if len(data) == 0:
        return False  # 函数执行过程中,一旦遇到return,则停止函数的执行
    with open(file_name, mode='w', encoding='utf-8') as f:
        result = data * count
        f.write(result)
        return True

# 函数调用
content = input('请输入:')
v = get_char_count('A', content)
status = write_data_file(v, 'a.txt', '李四')
if status:
    print('写入成功')
else:
    print('写入失败')

问题五:写函数,计算一个列表中有多少个数字,打印格式:列表中有多少个数字

答:

# 函数定义
def get_num_count(li):
    count = 0
    for i in li:
        if type(i) == int:
            count += 1
    print('列表中有%d个数字' % (count,))

# 函数调用
get_num_count([11, 'aa', 22])

问题六:写函数,计算一个列表中偶数索引位置的数据构造成另外一个列表,并返回

答:

# 函数定义
def get_list_even(li):
    result = li[::2]
    return result

# 函数调用
data_list = get_list_even(['11', '22', '33'])
print(data_list)

问题七:读取文件,将文件的内容构造成指定格式的数据,并返回

答:

# 构建文件
with open('a.log', mode='w', encoding='utf-8') as f:
    f.write('alex|123|18\n')
    f.write('eric|uiuf|19\n')


# 目标结构1:['alex|123|18','eric|uiuf|19']
# 函数定义
def output_data_list1(data_file):
    result = []
    with open(data_file, mode='r', encoding='utf-8') as f:
        for item in f:
            result.append(item.strip())
    return result


# 函数调用
data_list = output_data_list1('a.log')
print(data_list)


# 目标结构2:[['alex','123','18'],['eric','uiuf','19']]
# 函数定义
def output_data_list2(data_file):
    result = []
    with open(data_file, mode='r', encoding='utf-8') as f:
        for item in f:
            result.append(item.strip().split('|'))
    return result


# 函数调用
data_list = output_data_list2('a.log')
print(data_list)


# 目标结构3:[{'name':'alex','pwd':'123','age':'18'},{'name':'eric','pwd':'uiuf','age':'19'}]
# 函数定义
def output_data_list3(data_file):
    result = []
    with open(data_file, mode='r', encoding='utf-8') as f:
        for item in f:
            n, p, a = item.strip().split('|')
            data_dict = {'name': n, 'pwd': p, 'age': a}
            result.append(data_dict)
    return result


# 函数调用
data_list = output_data_list3('a.log')
print(data_list)

posted on 2019-10-25 16:10  傲慢小羽  阅读(379)  评论(1编辑  收藏  举报

导航