题比较简单,主要是测试点1可能会被卡
题目要求有“每5个数字占一行”,一般进行换行操作时,会使用一个计数变量来方便判断是否已经输出了5个数字,比如这样
if count % 5 == 0:
print()
但当给定的A到B之间的所有整数正好是五的倍数时,就会多输出一个换行,导致格式错误
可以给换行操作多加一个判断条件来避免这个错误,下面是例子
c = input().split()
a, b = map(int, c) #用map()方法将c接受的数据转换成int类型并赋值给a,b
out = []
for i in range(a, b+1):
out.append(i)
count = 0
X = 0
for i in out:
#用str.rjust()方法让字符右对齐并且必须占5个字符宽度
print(f"{str(i).rjust(5)}", end="")
count += 1
X += i
if len(out) % 5 == 0: #先判断列表长度是否正好是5的倍数
#用判断是否计数变量与列表长度一致的方法避免出现末尾进行换行的情况
if count % 5 == 0 and count == len(out):
pass
elif count % 5 == 0: #当当前行不是最后一行的时候正常进行换行
print()
else: #不是5的倍数就正常进行换行
if count % 5 == 0:
print()
print()
print(f"Sum = {X}")