报数游戏python 解答

又做了个小题目,报数游戏。

题目详情:

一种报数游戏是从1开始连续报数,如果报到7的倍数(7,14,21,28……)或者包含数字7的数(7,17,27,37……)就用拍手代替这个数而不能报出。假设你连续听到m声拍手,问造成你听到m声拍手的第一下拍手所代表的数是几?例如,你听到了两次连续的拍手,最小的可能这两次拍手是27和28,因此输出27。输入m, 输出这m次连续的拍手第一下所代表的最小可能的数。

def has7(n):
	if (n % 7 ==0):
		return True
	if "7" in str(n):
		return True
def lian7(m):
	at=1
	while(True):
		suc=True
		for i in range(at,at+m):
			if has7(i):
				continue
			else:
				suc=False
				break
		if suc:
			return at
		at+=1
print lian7(11)

猜你喜欢

转载自blog.csdn.net/mahongquan/article/details/19120215