直接硬解:

while True:
    try:
        N = int(input())
        result = 0
        for i in range(1,N+1): #注意不大于N应该包含N
            if i % 7 == 0: #先判断是否整除7,是的话就可以直接记上
                result += 1
            else:
                while ((i%10) != 7) and (i != 0): #非7倍数则再依次从低到高取出每一位数字作判断
                    i = int(i/10) #取了最低位后,移除最低位。
                if i != 0 : #如果上述循环退出时,余数还没到0,表示有某位数满足7,加入结果计数
                    result += 1
        print(result)
    except:
        break