提示:(个人学习),案例来自工业和信息化“十三五”人才培养规划教材,《Python快速编程入门》第2版,黑马程序员◎编著
逢7拍手游戏的规则是:从1开始顺序数数,数到有7或者包含7的倍数的时候拍手。本实例要求编写程序,模拟实现逢七拍手游戏,输出 100 以内需要拍手的数字。
一、实例目标
- for 循环与 range()函数的使用
- 字符串中find()方法的使用
二、实例分析
- 是否为7的倍数,即一个数取模值为0。
- 是否包含7,使用 findO方法判断,当返回值为-1时表示不包含7。
三、代码实现
for i in range(1, 101):
# 判断条件:既不包含7,也不是7的倍数
if "7" in str(i) or i % 7 == 0:
# 输出 *,去掉了换行符
print('*', end='、')
else:
# 如果不包含7且不是7的倍数,输出数字
print(i, end='、')
四、运行结果
五、代码解释
这段代码的目的是遍历1到100(包含1和100)之间的所有整数,并检查每个数字是否满足两个条件:一是不包含数字7,二不是7的倍数。对于不满足这两个条件之一(即包含7或是7的倍数)的数字,它输出一个星号(*),否则输出该数字本身。所有输出项之间用顿号(、)分隔,而不是默认的换行符。
(一)、for i in range(1, 101):
这行代码使用for循环遍历从1到100的整数(range(1, 101)生成一个从1开始到100结束的序列,包含1和100)。
(二)、if "7" in str(i) or i % 7 == 0:
这行代码判断当前数字i是否包含数字7或是7的倍数。str(i)将数字i转换为字符串,以便使用in关键字检查字符串中是否包含字符'7'。i % 7 == 0是一个条件表达式,用于检查i除以7的余数是否为0,即i是否是7的倍数。如果这两个条件中的任何一个为真(即i包含7或是7的倍数),则执行下一行代码。
(三)、print('*', end='、')
如果上述条件为真,这行代码将输出一个星号(*),并通过end='、'参数指定输出后不换行,而是以顿号(、)作为结束符。
(四)、else:
如果上述条件为假(即i既不包含7也不是7的倍数),则执行else块中的代码。
(五)、print(i, end='、')
在else块中,这行代码输出当前的数字i,同样通过end='、'参数指定输出后不换行,以顿号(、)作为结束符。
综上所述,这段代码的输出将是从1到100的所有整数,其中包含7的数字和7的倍数被替换为星号(*),所有输出项之间用顿号(、)分隔。
六、总结
逢七拍手游戏是一个简单而有趣的数学游戏,其规则是从1开始顺序数数,每当遇到包含数字7或者是7的倍数的数字时,不直接说出该数字,而是通过拍手来代替。这个游戏不仅考验了玩家的反应速度和数学计算能力,还增加了数数的趣味性。
- 在实现这个游戏的编程实例中,我们编写了一个程序来模拟逢七拍手游戏的过程,并输出100以内需要拍手的数字。程序通过遍历1到100之间的所有整数,对每个数字进行检查,判断其是否包含数字7或者是7的倍数。如果是,则将该数字视为需要拍手的数字,并将其输出。
- 具体来说,程序使用了循环结构和条件判断来实现这一功能。循环结构用于遍历1到100之间的所有整数,而条件判断则用于检查每个数字是否满足包含7或者是7的倍数的条件。当条件满足时,程序会输出该数字,表示需要拍手。
通过这个编程实例,我们不仅实现了逢七拍手游戏的功能,还进一步加深了对循环结构、条件判断等编程概念的理解。同时,这个游戏也提醒我们在日常生活中要善于发现和利用数学规律,让我们的生活更加有趣和丰富。
!仅供参考