Python快速编程小案例–逢7拍手小游戏
提示:(个人学习),案例来自工业和信息化“十三五”人才培养规划教材,《Python快速编程入门》第2版,黑马程序员◎编著
逢7拍手游戏的规则是:从1开始顺序数数,数到有7或者包含7的倍数的时候拍手。本实例要求编写程序,模拟实现逢七拍手游戏,输出 100 以内需要拍手的数字。
一、实例目标
二、实例分析
三、代码实现
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的倍数的数字时,不直接说出该数字,而是通过拍手来代替。这个游戏不仅考验了玩家的反应速度和数学计算能力,还增加了数数的趣味性。
通过这个编程实例,我们不仅实现了逢七拍手游戏的功能,还进一步加深了对循环结构、条件判断等编程概念的理解。同时,这个游戏也提醒我们在日常生活中要善于发现和利用数学规律,让我们的生活更加有趣和丰富。
!仅供参考
作者:gabadout