老男孩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)