Python语言练习题 求大佬指教

编程计算500到n之间(包含n)不能被7整除,个位不是0和3的数之和,n从键盘输入,当小于500时,提示输入“输入值不得小于500”。

n = int(input())
if n<500:
    print('输入值不得小于500')
else:
    print(sum(list(filter(lambda x:x%7!=0 and str(x)[-1] not in ['0', '3'], [i for i in range(500, n+1)]))))

还可以用 filter 来过滤

a = int(input())
if  a < 500:
    print('输入值不得小于500')
else:
    print(sum(i for i in range(500, a+1) if i % 7 != 0 and str(i)[-1] not in ['0', '3']))