逢7拍手游戏的规则是:从1开始顺序数数,数到有7或者包含7的倍数的时候拍手。本实例要求编写程序,模拟实现逢七拍手游戏,输出100以内需要拍手的数字。
判断一个数字是否与7相关,可分为两种情况:
1.是否为7的倍数,即一个数取模值为0;
2.是否包含7,使用find()方法判断,当返回值为-1时表示不包含7。
for i in range(1, 101):
# 把i转成字符串,使用find方法(字符串中不包含时,返回-1)
include = str(i).find("7")
# 判断条件:既不包含7,也不是7的倍数
if include == -1 and int(i) % 7 != 0:
# 输出,去掉了换行符,加了、
print(i, end="、")
# 如果包含7 输出*
elif include != -1 or int(i) % 7 == 0:
print("*", end='、')
首先使用for循环与range()函数生成1-100的整数序列,之后通过字符串中的find()方法判断1-100中每个数字是否包含7,并将返回值赋值给变量include,然后使用if-elif语句判断每个数字是否与7相关,如果include的值为-1,并且该数与7取模的值不为0,则该数与7无关,如果include的值不为-1或者与7取模的值为0,那么该数与7相关,使用print()函数打印“*”符号。
运行代码,控制台输出结果如下:
1、2、3、4、5、6、*、8、9、10、11、12、13、*、15、16、*、18、19、20、*、22、23、24、25、26、*、*、29、30、31、32、33、34、*、36、*、38、39、40、41、*、43、44、45、46、*、48、*、50、51、52、53、54、55、*、*、58、59、60、61、62、*、64、65、66、*、68、69、*、*、*、*、*、*、*、*、*、*、80、81、82、83、*、85、86、*、88、89、90、*、92、93、94、95、96、*、*、99、100、