逢7说“过”
小迪和朋友玩聚会小游戏,规则是逢7说过(出现7和7的倍数,如7、14、17、......),那么他们从1开始说到100,一共说了多少次过呢?
请通过while循环实现,计算过的次数,最后格式化输出:"一共说了xx次过"。
自己实现的代码:
i = 1 #报的数
count = 0 #说"过"的次数
while i <= 100:
if i % 10 == 7 or i % 7 == 0 or i//10 == 7:
count += 1
i += 1
print(f"一共说了{count}次过")
输出:一共说了30次过
改良版本:
判断i是否出现7时,我用的是“C++思维”,即分别计算i的十位和个位数,看看有没有等于7的,但在python中,我们可以用“in”运算符,把数字i变成字符串类型,然后用 “7” in str(i)即可判断i的个位和十位上是否有7
i = 1 #报的数
count = 0 #说"过"的次数
while i <= 100:
if "7" in str(i) or i % 7 == 0:
count += 1
i += 1
print(f"一共说了{count}次过")