# coding: utf-8
def fun(a, n):
'''数列求和'''
a_list = [int(str(a)*i) for i in range(1, n+1)] #列表解析解析出a的n项数列。
return a_list, sum(a_list) #返回数列与和值。
#main Codes
new_line, blank, line = '\n'*2, ' ', '﹊'*21 #打印输出用变量设置。
in_list = [] #a, n接收输入列表初始为空。
for i in ('a', 'n'):
while True:
try: #错误、异常捕获。
number = int(input(f'{new_line}{blank:8}输入{i}(1~9):')) #输入。
if 1<=number<=9: #输入合规,记录输入。
in_list.append(number) #接收输入正整数追加入列表。
else: #输入不合法,报错提示并重新输入。
input(f'{new_line}{line}\n{blank:15}输入超出范围!\n\n{blank:12}请输入1~9的正整数。\n{line}\n')
continue
break
except Exception: #输入不是数字字符,报错提示并重新输入。
input(f'{new_line}{line}\n{blank:15}输入不是数字!\n\n{blank:12}请输入1~9的正整数。\n{line}\n')
end = fun(in_list[0], in_list[1]) #接收函数返回变量。
input(f'{new_line}\n“{in_list[0]}”的{in_list[1]}项列表:\n{line}\n{end[0]}\n{line}\n\n{blank:12}求和结果:{end[1]}\n{line}\n')
上一篇: 练习:提取两个“—”之间的所有字符
下一篇: 寻找两个数组的中位数
来源:老齐教室