n=eval(input('input n:'))
a = []
if type(n)!=int or n<=5 or n>=100:
print('input error!')
else:
for i in range(1,n):
if i%5==0:
a.append(i)
else:
continue
print(a)
直接上码了。每行都给你加了注释,希望你能理解清楚。
判断是否属于数字的方法很多,python 3.6 后有个 isinstance 方法,但是不确定你的版本是否支持,所以用了 type
# python 官方文档说最好加这一段
if __name__ == '__main__':
# 原有代码段增加异常处理,避免 eval 方法处理输入内容是非整数时提示python错误提示
try:
# 变量 n 与 a 是原有内容,其他代码均是补充它们的
n = eval(input('input n:'))
a = []
# 如果输入的是整型,就处理
if type(n) == int:
# 如果 n 的范围不在 5 < n < 100 就提示输入错误
if n <= 5 or n >= 100:
print('input error !')
# 如果 n 的范围在 5 < n < 100 就继续处理
else:
# 因为是循环 n,因此 n 是循环中最大的数字
for i in range(1, n):
# 不输出 5 的倍数数字,即:将 5 的倍数放在之前定义的列表变量 a 中
if i % 5 == 0:
a.append(i)
# 全部处理完毕后,输出列表 a,即:数组 n 中全部 5 的倍数
print(a)
# 如果不是整型就提示输入错误,实际这个地方不会走,因为 eval 会直接跳出到 except 处
else:
# 提示输入错误
print('input error !')
# 当抛出异常时,显示这个内容
except:
# 异常时提示输入错误
print('input error !')